X-Git-Url: https://www.fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=finddup.c;h=87ae90e53bca65257b8016760da20900092eba5b;hb=d2131aa73229a6e713cca1ca95b714ff8e68ca12;hp=f196f5933048d106c5329ba2317819bde8ad7a1d;hpb=69e1a4ab5d17d67611d043d53378ea3b67b1533c;p=finddup.git diff --git a/finddup.c b/finddup.c index f196f59..87ae90e 100644 --- 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 */ -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 @@ -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; - 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) { @@ -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; - struct winsize win; 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) { - if(isatty(STDOUT_FILENO) && - !ioctl (STDOUT_FILENO, TIOCGWINSZ, (char *) &win)) { - tty_width = win.ws_col; - } fprintf(stderr, "Scanning %s ... ", dirname1); }