From: Kern Sibbald Date: Sun, 14 Feb 2010 09:08:14 +0000 (+0100) Subject: Add debug to testls X-Git-Tag: Release-5.2.1~1748 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=1fc07df79193f98bdc3725fdacae19f13c69a7ae;p=bacula%2Fbacula Add debug to testls --- diff --git a/bacula/src/tools/testls.c b/bacula/src/tools/testls.c index d09b5d0db2..f99d69e06b 100644 --- a/bacula/src/tools/testls.c +++ b/bacula/src/tools/testls.c @@ -1,7 +1,7 @@ /* Bacula® - The Network Backup Solution - Copyright (C) 2000-2008 Free Software Foundation Europe e.V. + Copyright (C) 2000-2010 Free Software Foundation Europe e.V. The main author of Bacula is Kern Sibbald, with contributions from many others, a complete list can be found in the file AUTHORS. @@ -45,10 +45,11 @@ void generate_plugin_event(JCR *jcr, bEventType eventType, void *value) { } int attrs = 0; static JCR *jcr; - +static int num_files = 0; static int print_file(JCR *jcr, FF_PKT *ff, bool); static void print_ls_output(char *fname, char *link, int type, struct stat *statp); +static int count_files(JCR *jcr, FF_PKT *ff, bool top_level); static void usage() { @@ -60,6 +61,7 @@ static void usage() " -dt print timestamp in debug output\n" " -e specify file of exclude patterns\n" " -i specify file of include patterns\n" +" -q quiet, don't print filenames (debug)\n" " - read pattern(s) from stdin\n" " -? print this message.\n" "\n" @@ -80,6 +82,7 @@ main (int argc, char *const *argv) { FF_PKT *ff; char name[1000]; + bool quiet = false; int i, ch, hard_links; char *inc = NULL; char *exc = NULL; @@ -90,7 +93,7 @@ main (int argc, char *const *argv) textdomain("bacula"); lmgr_init_thread(); - while ((ch = getopt(argc, argv, "ad:e:i:?")) != -1) { + while ((ch = getopt(argc, argv, "ad:e:i:q?")) != -1) { switch (ch) { case 'a': /* print extended attributes *debug* */ attrs = 1; @@ -115,6 +118,10 @@ main (int argc, char *const *argv) inc = optarg; break; + case 'q': + quiet = true; + break; + case '?': default: usage(); @@ -166,7 +173,12 @@ main (int argc, char *const *argv) } fclose(fd); } - match_files(jcr, ff, print_file); + if (quiet) { + match_files(jcr, ff, count_files); + } else { + match_files(jcr, ff, print_file); + } + printf(_("Files seen = %d\n"), num_files); term_include_exclude_files(ff); hard_links = term_find_files(ff); @@ -178,6 +190,12 @@ main (int argc, char *const *argv) exit(0); } +static int count_files(JCR *jcr, FF_PKT *ff, bool top_level) +{ + num_files++; + return 1; +} + static int print_file(JCR *jcr, FF_PKT *ff, bool top_level) { @@ -220,6 +238,7 @@ static int print_file(JCR *jcr, FF_PKT *ff, bool top_level) printf(_("Err: Unknown file ff->type %d: %s\n"), ff->type, ff->fname); break; } + num_files++; return 1; }