Changed types and added casts so that build is clean with gcc -Wsign-compare.
[mmh] / uip / burst.c
index a8f42d0..d0d06b6 100644 (file)
@@ -107,19 +107,17 @@ main(int argc, char **argv)
                        if (folder)
                                adios(NULL, "only one folder at a time!");
                        else
-                               folder = pluspath(cp);
+                               folder = getcpy(expandfol(cp));
                } else {
                        msgs[msgp++] = cp;
                }
        }
 
-       if (!context_find("path"))
-               free(path("./", TFOLDER));
        if (!msgp)
-               msgs[msgp++] = "cur";
+               msgs[msgp++] = seq_cur;
        if (!folder)
-               folder = getfolder(1);
-       maildir = m_maildir(folder);
+               folder = getcurfol();
+       maildir = toabsdir(folder);
 
        if (chdir(maildir) == NOTOK)
                adios(maildir, "unable to change directory to");
@@ -164,7 +162,7 @@ main(int argc, char **argv)
        }
 
        free((char *) smsgs);
-       context_replace(pfolder, folder);  /* update current folder */
+       context_replace(curfolder, folder);  /* update current folder */
 
        /*
        ** If -inplace is given, then the first message burst becomes
@@ -218,11 +216,13 @@ find_delim(int msgnum, struct smsg *smsgs)
 
                for (c = 0; fgets(buffer, sizeof(buffer), in); c = buffer[0]) {
                        if (strncmp(buffer, delim3, ld3) == 0
-                                       && (msgp == 1 || c == '\n')
-                                       && ((cc = peekc(in)) == '\n' ||
-                                       cc == EOF))
-                               break;
-                       else
+                                       && (msgp == 1 || c == '\n')) {
+                               cc = getc(in);
+                               ungetc(cc, in);
+                               if (cc == '\n' || cc == EOF) {
+                                       break;
+                               }
+                       } else
                                pos += (long) strlen(buffer);
                }
 
@@ -231,13 +231,6 @@ find_delim(int msgnum, struct smsg *smsgs)
                        smsgs[msgp++].s_stop = (c == '\n' && wasdlm) ?
                                        pos - 1 : pos;
                if (feof(in)) {
-#if 0
-                       if (wasdlm) {
-                               smsgs[msgp - 1].s_stop -=
-                                               ((long) strlen(buffer) + 1);
-                               msgp++;  /* fake "End of XXX Digest" */
-                       }
-#endif
                        break;
                }
                pos += (long) strlen(buffer);
@@ -267,7 +260,7 @@ burst(struct msgs **mpp, int msgnum, struct smsg *smsgs, int numburst,
                adios(msgnam, "unable to read message");
 
        mode = fstat(fileno(in), &st) != NOTOK ?
-                       (st.st_mode & 0777) : m_gmprot();
+                       (int)(st.st_mode & 0777) : m_gmprot();
        mp = *mpp;
 
        /*
@@ -365,14 +358,14 @@ burst(struct msgs **mpp, int msgnum, struct smsg *smsgs, int numburst,
                        if (rename(f1, f3) == NOTOK)
                                admonish(f3, "unable to rename %s to", f1);
 
-                       (void)snprintf(f3, sizeof (f3), "%s/%d", maildir, i);
-                       ext_hook("del-hook", f3, (char *)0);
+                       snprintf(f3, sizeof (f3), "%s/%d", maildir, i);
+                       ext_hook("del-hook", f3, NULL);
                }
                if (rename(f2, f1) == NOTOK)
                        admonish(f1, "unable to rename %s to", f2);
 
-               (void)snprintf(f3, sizeof (f3), "%s/%d", maildir, i);
-               ext_hook("add-hook", f3, (char *)0);
+               snprintf(f3, sizeof (f3), "%s/%d", maildir, i);
+               ext_hook("add-hook", f3, NULL);
 
                copy_msg_flags(mp, i, msgnum);
                mp->msgflags |= SEQMOD;
@@ -400,43 +393,43 @@ cpybrst(FILE *in, FILE *out, char *ifile, char *ofile, int len)
                if (c == 0)
                        continue;
                switch (state) {
-                       case S1:
-                               switch (c) {
-                                       case '-':
-                                               state = S3;
-                                               break;
-
-                                       default:
-                                               state = S2;
-                                       case '\n':
-                                               fputc(c, out);
-                                               break;
-                               }
+               case S1:
+                       switch (c) {
+                       case '-':
+                               state = S3;
                                break;
 
-                       case S2:
-                               switch (c) {
-                                       case '\n':
-                                               state = S1;
-                                       default:
-                                               fputc(c, out);
-                                               break;
-                               }
+                       default:
+                               state = S2;
+                       case '\n':
+                               fputc(c, out);
+                               break;
+                       }
+                       break;
+
+               case S2:
+                       switch (c) {
+                       case '\n':
+                               state = S1;
+                       default:
+                               fputc(c, out);
                                break;
+                       }
+                       break;
 
-                       case S3:
-                               switch (c) {
-                                       case ' ':
-                                               state = S2;
-                                               break;
-
-                                       default:
-                                               state = (c == '\n') ? S1 : S2;
-                                               fputc('-', out);
-                                               fputc(c, out);
-                                               break;
-                               }
+               case S3:
+                       switch (c) {
+                       case ' ':
+                               state = S2;
                                break;
+
+                       default:
+                               state = (c == '\n') ? S1 : S2;
+                               fputc('-', out);
+                               fputc(c, out);
+                               break;
+                       }
+                       break;
                }
        }