X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/acd8a635510ea87b8940c13c5c664a0fc18ebae1..e6917522:/uip/inc.c?ds=inline diff --git a/uip/inc.c b/uip/inc.c index 0e527442..7673da32 100644 --- a/uip/inc.c +++ b/uip/inc.c @@ -197,13 +197,7 @@ main (int argc, char **argv) SAVEGROUPPRIVS(); TRYDROPGROUPPRIVS(); -#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; } mts_init (invo_name); arguments = getarguments (invo_name, argc, argv, 1); @@ -662,7 +656,7 @@ go_to_it: } else { if (ferror(pf) || fclose (pf)) { int e = errno; - unlink (cp); + (void) m_unlink (cp); pop_quit (); errno = e; adios (cp, "write error on"); @@ -672,6 +666,8 @@ go_to_it: if (trnflag && pop_dele (i) == NOTOK) adios (NULL, "%s", response); + + scan_finished(); } if (pop_quit () == NOTOK) @@ -757,7 +753,7 @@ go_to_it: break; if (ferror(sf) || fflush(pf) || ferror(pf)) { int e = errno; - fclose(pf); fclose(sf); unlink(cp); + fclose(pf); fclose(sf); (void) m_unlink(cp); errno = e; adios(cp, "copy error %s -> %s", sp, cp); } @@ -804,16 +800,18 @@ go_to_it: } if (ferror(pf) || fclose (pf)) { int e = errno; - unlink (cp); + (void) m_unlink (cp); errno = e; adios (cp, "write error on"); } pf = NULL; free (cp); - if (trnflag && unlink (sp) == NOTOK) + if (trnflag && m_unlink (sp) == NOTOK) adios (sp, "couldn't unlink"); free (sp); /* Free Maildir[i]->filename */ + + scan_finished(); } free (Maildir); /* From now on Maildir is just a flag - don't dref! */ } @@ -853,7 +851,7 @@ go_to_it: close (newfd); else admonish (newmail, "error zero'ing"); - unlink(map_name(newmail)); + (void) m_unlink(map_name(newmail)); } } else { if (noisy)