X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=bkselect.c;h=736a5759a9ca4aecc980c86dcd373d9492a26ac3;hb=30449be1fdf69727b1c50e9a83194371a45e3dc5;hp=791289821c11b8fadcdb62130b76c5dc49093870;hpb=0b76820079b17c6e3879a1979687258039bb159f;p=utils.git diff --git a/bkselect.c b/bkselect.c index 7912898..736a575 100644 --- a/bkselect.c +++ b/bkselect.c @@ -70,9 +70,11 @@ int bkselect(char *path, int s) if(bkselect(pb, s)) r = 1; } else if(S_ISREG(sb.st_mode) || S_ISLNK(sb.st_mode)) { - if(s && printnames) - printf("%s\n", pb); - tsize += sb.st_size; + if(s) { + if(printnames) + printf("%s\n", pb); + tsize += sb.st_size; + } } } @@ -82,14 +84,15 @@ int bkselect(char *path, int s) void usage(void) { - fprintf(stderr, "usage: bkselect [-hsq] path...\n"); + fprintf(stderr, "usage: bkselect [-hsqo] [path...]\n"); } int main(int argc, char **argv) { - int c, i, r; + int c, i, r, s; - while((c = getopt(argc, argv, "hsq")) >= 0) { + s = 1; + while((c = getopt(argc, argv, "hsqo")) >= 0) { switch(c) { case 's': printsize = 1; @@ -97,6 +100,9 @@ int main(int argc, char **argv) case 'q': printnames = 0; break; + case 'o': + s = 0; + break; case 'h': default: usage(); @@ -104,13 +110,13 @@ int main(int argc, char **argv) } } if(argc - optind < 1) { - usage(); - exit(1); - } - r = 0; - for(i = optind; i < argc; i++) { - if(bkselect(argv[i], 0)) - r = 1; + r = bkselect(".", s); + } else { + r = 0; + for(i = optind; i < argc; i++) { + if(bkselect(argv[i], s)) + r = 1; + } } if(printsize) printf("%lli\n", tsize);