* g10.c (main): Deprecate --default-comment in favor of --no-comments.
authorDavid Shaw <dshaw@jabberwocky.com>
Tue, 23 Sep 2003 03:52:55 +0000 (03:52 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Tue, 23 Sep 2003 03:52:55 +0000 (03:52 +0000)
* options.h, g10.c (main), armor.c (armor_filter): Allow using --comment
multiple times to get multiple Comment: header lines. --no-comments resets
list.

g10/ChangeLog
g10/armor.c
g10/g10.c
g10/options.h

index ff2730b..6bf4c7d 100644 (file)
@@ -1,3 +1,12 @@
+2003-09-22  David Shaw  <dshaw@jabberwocky.com>
+
+       * g10.c (main): Deprecate --default-comment in favor of
+       --no-comments.
+
+       * options.h, g10.c (main), armor.c (armor_filter): Allow using
+       --comment multiple times to get multiple Comment: header lines.
+       --no-comments resets list.
+
 2003-09-11  David Shaw  <dshaw@jabberwocky.com>
 
        * g10.c (main): Trim --help to commonly used options.  Remove -f.
index 89d2672..4632db6 100644 (file)
@@ -925,6 +925,7 @@ armor_filter( void *opaque, int control,
     else if( control == IOBUFCTRL_FLUSH && !afx->cancel ) {
        if( !afx->status ) { /* write the header line */
            const char *s;
+           STRLIST comment=opt.comments;
 
            if( afx->what >= DIM(head_strings) )
                log_bug("afx->what=%d", afx->what);
@@ -935,22 +936,23 @@ armor_filter( void *opaque, int control,
                iobuf_writestr(a, "Version: GnuPG v"  VERSION " ("
                                              PRINTABLE_OS_NAME ")" LF );
 
-           /* write the comment string or a default one */
-           s = opt.comment_string;
-           if( s && *s ) {
+           /* write the comment strings */
+           for(s=comment->d;comment;comment=comment->next,s=comment->d)
+             {
                iobuf_writestr(a, "Comment: " );
-               for( ; *s; s++ ) {
+               for( ; *s; s++ )
+                 {
                    if( *s == '\n' )
-                       iobuf_writestr(a, "\\n" );
+                     iobuf_writestr(a, "\\n" );
                    else if( *s == '\r' )
-                       iobuf_writestr(a, "\\r" );
+                     iobuf_writestr(a, "\\r" );
                    else if( *s == '\v' )
-                       iobuf_writestr(a, "\\v" );
+                     iobuf_writestr(a, "\\v" );
                    else
-                       iobuf_put(a, *s );
-               }
+                     iobuf_put(a, *s );
+                 }
                iobuf_writestr(a, LF );
-           }
+             }
 
            if ( afx->hdrlines ) {
                 for ( s = afx->hdrlines; *s; s++ ) {
index 521f3ba..b1c8aa2 100644 (file)
--- a/g10/g10.c
+++ b/g10/g10.c
@@ -224,6 +224,7 @@ enum cmd_and_opt_values { aNull = 0,
     oUseEmbeddedFilename,
     oComment,
     oDefaultComment,
+    oNoComments,
     oThrowKeyid,
     oNoThrowKeyid,
     oShowPhotos,
@@ -448,7 +449,6 @@ static ARGPARSE_OPTS opts[] = {
 #ifdef __riscos__
     { oAttributeFile, "attribute-file" ,2, "@" },
 #endif /* __riscos__ */
-    { oNoSKComments, "no-comment", 0,   "@"},
     { oNoSKComments, "no-sk-comments", 0,   "@"},
     { oSKComments, "sk-comments", 0,   "@"},
     { oCompletesNeeded, "completes-needed", 1, "@"},
@@ -554,6 +554,7 @@ static ARGPARSE_OPTS opts[] = {
     { oNoShowNotation, "no-show-notation", 0, "@" },
     { oComment, "comment", 2, "@" },
     { oDefaultComment, "default-comment", 0, "@" },
+    { oNoComments, "no-comments", 0, "@" },
     { oEmitVersion, "emit-version", 0, "@"},
     { oNoEmitVersion, "no-emit-version", 0, "@"},
     { oNoEmitVersion, "no-version", 0, "@"}, /* alias */
@@ -1601,8 +1602,15 @@ main( int argc, char **argv )
            break;
          case oSigKeyserverURL: add_keyserver_url(pargs.r.ret_str,0); break;
          case oUseEmbeddedFilename: opt.use_embedded_filename = 1; break;
-         case oComment: opt.comment_string = pargs.r.ret_str; break;
-         case oDefaultComment: opt.comment_string = NULL; break;
+         case oComment: add_to_strlist(&opt.comments,pargs.r.ret_str); break;
+         case oDefaultComment:
+           deprecated_warning(configname,configlineno,
+                              "--default-comment","--no-comments","");
+           /* fall through */
+         case oNoComments:
+           free_strlist(opt.comments);
+           opt.comments=NULL;
+           break;
          case oThrowKeyid: opt.throw_keyid = 1; break;
          case oNoThrowKeyid: opt.throw_keyid = 0; break;
          case oShowPhotos: 
index 91855ba..e9755d5 100644 (file)
@@ -101,7 +101,7 @@ struct {
     unsigned int emulate_bugs; /* bug emulation flags EMUBUG_xxxx */
     int shm_coprocess;
     const char *set_filename;
-    const char *comment_string;
+    STRLIST comments;
     int throw_keyid;
     const char *photo_viewer;
     int s2k_mode;