projects
/
finddup.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
69e1a4a
)
Now refreshes properly the progress bar if the tty width changes.
author
Francois Fleuret
<francois@fleuret.org>
Mon, 22 Mar 2010 07:56:05 +0000
(08:56 +0100)
committer
Francois Fleuret
<francois@fleuret.org>
Mon, 22 Mar 2010 07:56:05 +0000
(08:56 +0100)
finddup.c
patch
|
blob
|
history
diff --git
a/finddup.c
b/finddup.c
index
f196f59
..
87ae90e
100644
(file)
--- a/
finddup.c
+++ b/
finddup.c
@@
-72,9
+72,6
@@
int same_inodes_are_different = 0; /* 1 means that comparison between
two files with same inode will
always be false */
two files with same inode will
always be false */
-int tty_width = -1; /* Positive value means what width to use to show
- the progress bar */
-
#ifdef WITH_MD5
int use_md5 = 0; /* 1 means we keep an MD5 signature for each file */
#endif
#ifdef WITH_MD5
int use_md5 = 0; /* 1 means we keep an MD5 signature for each file */
#endif
@@
-387,8
+384,13
@@
void print_result(struct file_node *list1, struct file_node *list2) {
void print_progress(int max, int n, int *pp) {
int p, k;
void print_progress(int max, int n, int *pp) {
int p, k;
- int width;
- if(show_progress && tty_width > 0) {
+ int width, tty_width;
+ struct winsize win;
+
+ if(show_progress &&
+ isatty(STDOUT_FILENO) &&
+ !ioctl (STDOUT_FILENO, TIOCGWINSZ, (char *) &win)) {
+ tty_width = win.ws_col;
width = tty_width - 7;
p = (width * n) / (max - 1);
if(p > *pp) {
width = tty_width - 7;
p = (width * n) / (max - 1);
if(p > *pp) {
@@
-411,7
+413,6
@@
void start(const char *dirname1, const char *dirname2) {
int not_in, found;
int nb_groups, nb_nodes;
int list1_length, previous_progress;
int not_in, found;
int nb_groups, nb_nodes;
int list1_length, previous_progress;
- struct winsize win;
char *buffer1 = safe_malloc(sizeof(char) * READ_BUFFER_SIZE);
char *buffer2 = safe_malloc(sizeof(char) * READ_BUFFER_SIZE);
char *buffer1 = safe_malloc(sizeof(char) * READ_BUFFER_SIZE);
char *buffer2 = safe_malloc(sizeof(char) * READ_BUFFER_SIZE);
@@
-419,10
+420,6
@@
void start(const char *dirname1, const char *dirname2) {
not_in = 0;
if(show_progress) {
not_in = 0;
if(show_progress) {
- if(isatty(STDOUT_FILENO) &&
- !ioctl (STDOUT_FILENO, TIOCGWINSZ, (char *) &win)) {
- tty_width = win.ws_col;
- }
fprintf(stderr, "Scanning %s ... ", dirname1);
}
fprintf(stderr, "Scanning %s ... ", dirname1);
}