X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Frefile.c;h=96f355a610f2d4de977763522617d3170a192b47;hb=8ab7ca4f2b4caa1f1ed2859d7d911513a7b2b2a2;hp=2fe25b496fe972f09ad6885a044e5efdeba877ab;hpb=aac09b48aeb1e822be418a6b6a01b3e2f357b8cd;p=mmh diff --git a/uip/refile.c b/uip/refile.c index 2fe25b4..96f355a 100644 --- a/uip/refile.c +++ b/uip/refile.c @@ -16,13 +16,13 @@ static struct swit switches[] = { #define LINKSW 0 { "link", 0 }, #define NLINKSW 1 - { "nolink", 0 }, + { "nolink", 2 }, #define SRCSW 2 { "src +folder", 0 }, #define FILESW 3 { "file file", 0 }, #define VERSIONSW 4 - { "version", 0 }, + { "Version", 0 }, #define HELPSW 5 { "help", 0 }, { NULL, 0 } @@ -57,9 +57,7 @@ main(int argc, char **argv) struct msgs_array msgs = { 0, 0, NULL }; struct msgs *mp; -#ifdef LOCALE setlocale(LC_ALL, ""); -#endif invo_name = mhbasename(argv[0]); context_read(); @@ -75,17 +73,17 @@ main(int argc, char **argv) switch (smatch(++cp, switches)) { case AMBIGSW: ambigsw(cp, switches); - done(1); + exit(1); case UNKWNSW: adios(NULL, "-%s unknown\n", cp); case HELPSW: snprintf(buf, sizeof(buf), "%s [msgs] [switches] +folder ...", invo_name); print_help(buf, switches, 1); - done(1); + exit(0); case VERSIONSW: print_version(invo_name); - done(1); + exit(0); case LINKSW: linkf++; @@ -130,11 +128,12 @@ main(int argc, char **argv) */ if (filep > 0) { if (folder || msgs.size) - adios(NULL, "use -file or some messages, not both"); + adios(NULL, "use -file or msgs, not both"); opnfolds(folders, foldp); for (i = 0; i < filep; i++) if (m_file(files[i], folders, foldp, 0)) - done(1); + /* sysexits.h EX_IOERR */ + exit(1); /* If -nolink, then unlink files */ if (!linkf) { int i; @@ -146,7 +145,7 @@ main(int argc, char **argv) admonish(files[i], "unable to unlink"); } } - done(0); + exit(0); } if (!msgs.size) @@ -169,7 +168,8 @@ main(int argc, char **argv) /* parse the message range/sequence/name and set SELECTED */ for (msgnum = 0; msgnum < msgs.size; msgnum++) if (!m_convert(mp, msgs.msgs[msgnum])) - done(1); + /* sysexits.h EX_USAGE */ + exit(1); seq_setprev(mp); /* set the previous-sequence */ /* create folder structures for each destination folder */ @@ -185,7 +185,8 @@ main(int argc, char **argv) if (is_selected(mp, msgnum)) { cp = getcpy(m_name(msgnum)); if (m_file(cp, folders, foldp, !linkf)) - done(1); + /* sysexits.h EX_IOERR */ + exit(1); free(cp); } } @@ -210,8 +211,7 @@ main(int argc, char **argv) context_replace(curfolder, folder); context_save(); folder_free(mp); - done(0); - return 1; + return 0; } @@ -230,7 +230,7 @@ opnfolds(struct st_fold *folders, int nfolders) chdir(toabsdir("+")); strncpy(nmaildir, toabsdir(fp->f_name), sizeof(nmaildir)); - create_folder(nmaildir, 0, done); + create_folder(nmaildir, 0, exit); if (chdir(nmaildir) == NOTOK) adios(nmaildir, "unable to change directory to");