X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fpackf.c;h=b565c164e25cd6d32646d2582d794674972bb03d;hp=fc7fcba0337f404be5aa9d8038e3cfb8c430bf95;hb=32b2354dbaf4bf934936eb5b102a4a3d2fdd209a;hpb=ef1216bc36bd48ceb7549ae76aa7c26e3be4d9e4 diff --git a/uip/packf.c b/uip/packf.c index fc7fcba..b565c16 100644 --- a/uip/packf.c +++ b/uip/packf.c @@ -13,21 +13,13 @@ #include static struct swit switches[] = { -#define FILESW 0 - { "file name", 0 }, -#define VERSIONSW 1 - { "version", 0 }, -#define HELPSW 2 +#define VERSIONSW 0 + { "Version", 0 }, +#define HELPSW 1 { "help", 0 }, { NULL, 0 } }; -static int md = NOTOK; - -static void mbxclose_done(int) NORETURN; - -char *file = NULL; - int main(int argc, char **argv) @@ -37,9 +29,6 @@ main(int argc, char **argv) char **argp, **arguments; struct msgs_array msgs = { 0, 0, NULL }; struct msgs *mp; - struct stat st; - - done=mbxclose_done; #ifdef LOCALE setlocale(LC_ALL, ""); @@ -71,14 +60,6 @@ main(int argc, char **argv) case VERSIONSW: print_version(invo_name); done(1); - - case FILESW: - if (file) - adios(NULL, "only one file at a time!"); - if (!(file = *argp++) || *file == '-') - adios(NULL, "missing argument to %s", - argp[-2]); - continue; } } if (*cp == '+' || *cp == '@') { @@ -89,23 +70,6 @@ main(int argc, char **argv) app_msgarg(&msgs, cp); } - if (!file) - file = "./msgbox"; - file = getcpy(expanddir(file)); - - /* - ** Check if file to be created (or appended to) - ** exists. If not, ask for confirmation. - */ - if (stat (file, &st) == NOTOK) { - if (errno != ENOENT) - adios(file, "error on file"); - cp = concat("Create file \"", file, "\"? ", NULL); - if (!getanswer(cp)) - done(1); - free(cp); - } - /* default is to pack whole folder */ if (!msgs.size) app_msgarg(&msgs, seq_all); @@ -131,42 +95,26 @@ main(int argc, char **argv) done(1); seq_setprev(mp); /* set the previous-sequence */ - /* open and lock new maildrop file */ - if ((md = mbx_open(file, getuid(), getgid(), m_gmprot())) - == NOTOK) - adios(file, "unable to open"); - - /* copy all the SELECTED messages to the file */ - for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) + /* copy all the SELECTED messages to stdout */ + for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) { if (is_selected(mp, msgnum)) { if ((fd = open(msgnam = m_name(msgnum), O_RDONLY)) == NOTOK) { admonish(msgnam, "unable to read message"); break; } - - if (mbx_copy(md, fd) == NOTOK) - adios(file, "error writing to file"); - + if (mbox_copy(fileno(stdout), fd) == NOTOK) { + adios(NULL, "error writing to stdout"); + } close(fd); } - - /* close and unlock maildrop file */ - mbx_close(file, md); - - context_replace(curfolder, folder); /* update current folder */ + } + context_replace(curfolder, folder); if (mp->hghsel != mp->curmsg) seq_setcur(mp, mp->lowsel); seq_save(mp); - context_save(); /* save the context file */ - folder_free(mp); /* free folder/message structure */ + context_save(); + folder_free(mp); done(0); return 1; } - -static void -mbxclose_done(int status) -{ - mbx_close(file, md); - exit(status); -}