X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fflist.c;h=b4aff9cd3882a980003487950ae1562513d8ccb8;hb=49856d905bfbaf3025967cbfe7631440978bccc8;hp=d46f7bacffbdc2cc55127adb280271106fb245e3;hpb=13ae9ba066e6b8c114daa6714895a56816465f49;p=mmh diff --git a/uip/flist.c b/uip/flist.c index d46f7ba..b4aff9c 100644 --- a/uip/flist.c +++ b/uip/flist.c @@ -165,10 +165,10 @@ main(int argc, char **argv) snprintf(buf, sizeof(buf), "%s [+folder1 [+folder2 ...]][switches]", invo_name); print_help(buf, switches, 1); - done(1); + done(0); case VERSIONSW: print_version(invo_name); - done (1); + done (0); case SEQSW: if (!(cp = *argp++) || *cp == '-') @@ -413,6 +413,12 @@ BuildFolderListRecurse(char *dirName, struct stat *s, int searchdepth) * stat them. But that shouldn't generally be a problem. */ nlinks = s->st_nlink; + if (nlinks == 1) { + /* Disable the optimization under conditions where st_nlink + is set to 1. That happens on Cygwin, for example: + http://cygwin.com/ml/cygwin-apps/2008-08/msg00264.html */ + nlinks = INT_MAX; + } if (!(dir = opendir(dirName))) adios(dirName, "can't open directory");