OSSP CVS Repository

ossp - Check-in [1746]
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Patchset]  [Tagging/Branching

Check-in Number: 1746
Date: 2002-Jan-31 15:43:52 (local)
2002-Jan-31 14:43:52 (UTC)
User:thl
Branch:
Comment: moved --mailfrom option
Tickets:
Inspections:
Files:
ossp-pkg/lmtp2nntp/lmtp2nntp_config.c      1.25 -> 1.26     27 inserted, 0 deleted
ossp-pkg/lmtp2nntp/lmtp2nntp_main.c      1.19 -> 1.20     0 inserted, 16 deleted

ossp-pkg/lmtp2nntp/lmtp2nntp_config.c 1.25 -> 1.26

--- lmtp2nntp_config.c   2002/01/31 14:20:09     1.25
+++ lmtp2nntp_config.c   2002/01/31 14:43:52     1.26
@@ -469,6 +469,33 @@
     catch (ex)
         rethrow;
 
+    /* --mailfrom SINGLE */
+    try {
+        char *cp;
+
+        if (   (val_get(ctx->val, "option.mailfrom", &ov) != VAL_OK)
+            || (ov->ndata != 1)
+            || (ov->data.s == NULL)
+              ) throw(0,0,0);
+        log1(ctx, TRACE, "--mailfrom = \"%s\"", ov->data.s);
+
+        ctx->option_mailfrom = strdup(ov->data.s);
+        /* protect ourselfs from the substitution of backreferences.
+         * Missing varargs would cause segfaults.  Rewrite capturing
+         * brackets to clustering syntax. Use poor man's s///g
+         * simulator as current str library doesn't support global
+         * substitution */
+        while (str_parse(ctx->option_mailfrom, "s/(.*?)\\((?!\\?:)(.*)/$1(?:$2/", &cp) > 0) {
+            free(ctx->option_mailfrom);
+            ctx->option_mailfrom = cp;
+        }
+        if (str_parse("<>", ctx->option_mailfrom) == -1) {
+            log1(ctx, ERROR, "option --mailfrom, illegal regex (%s)", ctx->option_mailfrom);
+            throw(0,0,0);
+        }
+    }
+    catch (ex)
+        rethrow;
 CUS:
     return;
 }


ossp-pkg/lmtp2nntp/lmtp2nntp_main.c 1.19 -> 1.20

--- lmtp2nntp_main.c     2002/01/31 14:20:09     1.19
+++ lmtp2nntp_main.c     2002/01/31 14:43:52     1.20
@@ -456,22 +456,6 @@
     /* read in the arguments */
     while ((i = getopt(argc, argv, "C:DKP:Va:b:c:d:g:h:l:m:n:o:r:s:t:u:v")) != -1) {
         switch (i) {
-            case 'm': /*POD [B<-m> I<mailfrom>] */
-                ctx->option_mailfrom = strdup(optarg);
-                /* protect ourselfs from the substitution of backreferences.
-                 * Missing varargs would cause segfaults.  Rewrite capturing
-                 * brackets to clustering syntax. Use poor man's s///g
-                 * simulator as current str library doesn't support global
-                 * substitution */
-                while (str_parse(ctx->option_mailfrom, "s/(.*?)\\((?!\\?:)(.*)/$1(?:$2/", &cp) > 0) {
-                    free(ctx->option_mailfrom);
-                    ctx->option_mailfrom = cp;
-                }
-                if (str_parse("<>", ctx->option_mailfrom) == -1) {
-                    fprintf(stderr, "%s:Error: illegal regex \"%s\" to option -m.\n", ctx->progname, ctx->option_mailfrom);
-                    CU(ERR_EXECUTION);
-                }
-                break;
             case 'n': /*POD [B<-n> I<nodename>] */
                 if (strlen(optarg) > sizeof(ctx->uname.nodename)-1) {
                         fprintf(stderr, "%s:Error: nodename \"%s\" to long to option -n.\n", ctx->progname, optarg);

CVSTrac 2.0.1