]> diplodocus.org Git - nmh/blobdiff - uip/send.c
fmt_scan(): Avoid undefined behaviour from overlapping strncpy(3).
[nmh] / uip / send.c
index 7bf3c7cba6b22df93d3d89c747574e854caffd2a..f29bb45fda83a9b963bf8b890eab1c1cf776e959 100644 (file)
@@ -5,12 +5,36 @@
  * complete copyright information.
  */
 
-#include <h/mh.h>
+#include "h/mh.h"
+#include "sendsbr.h"
+#include "sbr/m_name.h"
+#include "sbr/getarguments.h"
+#include "sbr/read_switch_multiword.h"
+#include "sbr/concat.h"
+#include "sbr/seq_setprev.h"
+#include "sbr/seq_save.h"
+#include "sbr/showfile.h"
+#include "sbr/smatch.h"
+#include "sbr/closefds.h"
+#include "sbr/cpydata.h"
+#include "sbr/m_draft.h"
+#include "sbr/m_convert.h"
+#include "sbr/folder_read.h"
+#include "sbr/context_save.h"
+#include "sbr/context_find.h"
+#include "sbr/brkstring.h"
+#include "sbr/ambigsw.h"
+#include "sbr/push.h"
+#include "sbr/path.h"
+#include "sbr/print_version.h"
+#include "sbr/print_help.h"
+#include "sbr/arglist.h"
+#include "sbr/error.h"
 #include <fcntl.h>
 #include "h/done.h"
-#include <h/utils.h>
+#include "h/utils.h"
 #ifdef OAUTH_SUPPORT
-# include <h/oauth.h>
+#include "h/oauth.h"
 #endif
 #include "sbr/m_maildir.h"
 #include "sbr/m_mktemp.h"
@@ -98,12 +122,12 @@ DEFINE_SWITCH_ARRAY(USE, anyl);
 #undef X
 
 extern int debugsw;            /* from sendsbr.c */
-extern int forwsw;
+extern bool forwsw;
 extern int inplace;
-extern int pushsw;
+extern bool pushsw;
 extern int splitsw;
-extern int unique;
-extern int verbsw;
+extern bool unique;
+extern bool verbsw;
 
 extern char *altmsg;           /*  .. */
 extern char *annotext;
@@ -114,7 +138,7 @@ int
 main (int argc, char **argv)
 {
     int msgp = 0, vecp;
-    int isdf = 0, mime = 0;
+    int isdf = 0;
     int msgnum, status;
     char *cp, *dfolder = NULL, *maildir = NULL;
     char buf[BUFSIZ], **ap, **argp, **arguments, *program;
@@ -122,7 +146,6 @@ main (int argc, char **argv)
     const char *user = NULL, *saslmech = NULL;
     struct msgs *mp;
     struct stat st;
-    int snoop = 0;
     char *auth_svc = NULL;
 
     if (nmh_init(argv[0], true, true)) { return 1; }
@@ -191,10 +214,10 @@ main (int argc, char **argv)
                    continue;
 
                case PUSHSW: 
-                   pushsw++;
+                   pushsw = true;
                    continue;
                case NPUSHSW: 
-                   pushsw = 0;
+                   pushsw = false;
                    continue;
 
                case SPLITSW: 
@@ -203,39 +226,36 @@ main (int argc, char **argv)
                    continue;
 
                case UNIQSW: 
-                   unique++;
+                   unique = true;
                    continue;
                case NUNIQSW: 
-                   unique = 0;
+                   unique = false;
                    continue;
 
                case FORWSW:
-                   forwsw++;
+                   forwsw = true;
                    continue;
                case NFORWSW:
-                   forwsw = 0;
+                   forwsw = false;
                    continue;
 
                case VERBSW: 
-                   verbsw++;
+                   verbsw = true;
                    vec[vecp++] = --cp;
                    continue;
                case NVERBSW:
-                   verbsw = 0;
+                   verbsw = false;
                    vec[vecp++] = --cp;
                    continue;
 
                case MIMESW:
-                   mime++;
                    vec[vecp++] = --cp;
                    continue;
                case NMIMESW:
-                   mime = 0;
                    vec[vecp++] = --cp;
                    continue;
 
                case SNOOPSW:
-                    snoop++;
                    vec[vecp++] = --cp;
                    continue;