X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=finddup.c;h=87ae90e53bca65257b8016760da20900092eba5b;hb=e19b97832c28af4781084bffa6bb31553624aa51;hp=98008f4a631f3123059218ed46e5b1849f8d977b;hpb=46181230584702e9d59e54890ee761d9373c4dd3;p=finddup.git diff --git a/finddup.c b/finddup.c index 98008f4..87ae90e 100644 --- a/finddup.c +++ b/finddup.c @@ -69,12 +69,9 @@ int show_groups = 1; /* 1 means to show the group IDs when printing file names */ int same_inodes_are_different = 0; /* 1 means that comparison between - two file with same inode will + 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); }