[git] GnuPG - branch, master, updated. gnupg-2.2.7-265-gb3095c9

[email protected] (by Werner Koch) Sun, 11 Nov 2018 12:02:09 +0100
Newsgroups gmane.comp.encryption.gpg.cvs
Message-ID <[email protected]>
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU Privacy Guard".

The branch, master has been updated
       via  b3095c95ef9d2d76b49a6ad1b946fca590380dc9 (commit)
      from  b46382dd47731231ff49b59c486110a25e08e985 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit b3095c95ef9d2d76b49a6ad1b946fca590380dc9
Author: Werner Koch <[email protected]>
Date:   Sun Nov 11 12:01:42 2018 +0100

    common: Add --filter option to t-mbox-util.
    
    * common/t-mbox-util.c (run_filter): New.
    (main): Add option parser.

diff --git a/common/t-mbox-util.c b/common/t-mbox-util.c
index fb1ac12..e9cf412 100644
--- a/common/t-mbox-util.c
+++ b/common/t-mbox-util.c
@@ -25,6 +25,9 @@
 #include "util.h"
 #include "mbox-util.h"
 
+#define PGM "t-mbox-util"
+
+
 #define pass()  do { ; } while(0)
 #define fail(a)  do { fprintf (stderr, "%s:%d: test %d failed\n",\
                                __FILE__,__LINE__, (a));          \
@@ -32,6 +35,10 @@
                     } while(0)
 
 
+static int verbose;
+static int debug;
+
+
 static void
 run_mbox_test (void)
 {
@@ -143,14 +150,97 @@ run_dns_test (void)
 }
 
 
+static void
+run_filter (void)
+{
+  char buf[4096];
+  int c;
+  char *p, *mbox;
+  unsigned int count1 = 0;
+  unsigned int count2 = 0;
+
+  while (fgets (buf, sizeof buf, stdin))
+    {
+      p = strchr (buf, '\n');
+      if (p)
+        *p = 0;
+      else
+        {
+          /* Skip to the end of the line.  */
+          while ((c = getc (stdin)) != EOF && c != '\n')
+            ;
+        }
+      count1++;
+      trim_spaces (buf);
+      mbox = mailbox_from_userid (buf);
+      if (mbox)
+        {
+          printf ("%s\n", mbox);
+          xfree (mbox);
+          count2++;
+        }
+    }
+  if (verbose)
+    fprintf (stderr, PGM ": lines=%u mboxes=%u\n", count1, count2);
+}
+
+
 int
 main (int argc, char **argv)
 {
-  (void)argc;
-  (void)argv;
+  int last_argc = -1;
+  int opt_filter = 0;
 
-  run_mbox_test ();
-  run_dns_test ();
+  if (argc)
+    { argc--; argv++; }
+  while (argc && last_argc != argc )
+    {
+      last_argc = argc;
+      if (!strcmp (*argv, "--"))
+        {
+          argc--; argv++;
+          break;
+        }
+      else if (!strcmp (*argv, "--help"))
+        {
+          fputs ("usage: " PGM " [FILE]\n"
+                 "Options:\n"
+                 "  --verbose         Print timings etc.\n"
+                 "  --debug           Flyswatter\n"
+                 "  --filter          Filter mboxes from input lines\n"
+                 , stdout);
+          exit (0);
+        }
+      else if (!strcmp (*argv, "--verbose"))
+        {
+          verbose++;
+          argc--; argv++;
+        }
+      else if (!strcmp (*argv, "--debug"))
+        {
+          verbose += 2;
+          debug++;
+          argc--; argv++;
+        }
+      else if (!strcmp (*argv, "--filter"))
+        {
+          opt_filter = 1;
+          argc--; argv++;
+        }
+      else if (!strncmp (*argv, "--", 2))
+        {
+          fprintf (stderr, PGM ": unknown option '%s'\n", *argv);
+          exit (1);
+        }
+    }
+
+  if (opt_filter)
+    run_filter ();
+  else
+    {
+      run_mbox_test ();
+      run_dns_test ();
+    }
 
   return 0;
 }

-----------------------------------------------------------------------

Summary of changes:
 common/t-mbox-util.c | 98 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 94 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
The GNU Privacy Guard
http://git.gnupg.org