X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/397deef44d1f8d92b781e7d9af6f0f256eccbe73..0860f098b5a13f4e8bedb2d2da9d2df94717b4a5:/uip/refile.c diff --git a/uip/refile.c b/uip/refile.c index 19e12661..cbe61cdb 100644 --- a/uip/refile.c +++ b/uip/refile.c @@ -68,13 +68,7 @@ main (int argc, char **argv) struct msgs_array msgs = { 0, 0, NULL }; struct msgs *mp; -#ifdef LOCALE - setlocale(LC_ALL, ""); -#endif - invo_name = r1bindex (argv[0], '/'); - - /* read user profile/context */ - context_read(); + if (nmh_init(argv[0], 1)) { return 1; } arguments = getarguments (invo_name, argc, argv, 1); argp = arguments; @@ -246,6 +240,14 @@ main (int argc, char **argv) && (mp->numsel != mp->nummsg || linkf)) seq_setcur (mp, mp->hghsel); + /* + * Close destination folders now; if we are using private sequences + * we need to have all of our calls to seq_save() complete before we + * call context_save(). + */ + + clsfolds (folders, foldp); + /* If -nolink, then "remove" messages from source folder. * * Note that folder_delmsgs does not call the delete hook @@ -258,8 +260,6 @@ main (int argc, char **argv) context_save (); /* save the context file */ } - clsfolds (folders, foldp); - folder_free (mp); /* free folder structure */ done (0); return 1; @@ -344,7 +344,7 @@ remove_files (int filep, char **files) /* Else just unlink the files */ files++; /* advance past filevec[0] */ for (i = 0; i < filep; i++) { - if (unlink (files[i]) == NOTOK) + if (m_unlink (files[i]) == NOTOK) admonish (files[i], "unable to unlink"); } }