]> diplodocus.org Git - nmh/blobdiff - sbr/m_mktemp.c
Don't need to cast to `char *' for free(3) these days.
[nmh] / sbr / m_mktemp.c
index 009df0a195cf3c1709742c768e28798c63e8cc53..2ab8d129dbbaf2aeb2bf5961c622126f0598023d 100644 (file)
@@ -156,9 +156,8 @@ m_mktemps(
     if (suffix == NULL) {
         if ((tmpfil = m_mktemp2(NULL, pfx_in, fd_ret, fp_ret))) {
             return add(tmpfil, NULL);
     if (suffix == NULL) {
         if ((tmpfil = m_mktemp2(NULL, pfx_in, fd_ret, fp_ret))) {
             return add(tmpfil, NULL);
-        } else {
-            return NULL;
         }
         }
+        return NULL;
     }
 
 #if HAVE_MKSTEMPS
     }
 
 #if HAVE_MKSTEMPS
@@ -170,7 +169,7 @@ m_mktemps(
 
     fd = mkstemps(tmpfil, (int) strlen(suffix));
 #else  /* ! HAVE_MKSTEMPS */
 
     fd = mkstemps(tmpfil, (int) strlen(suffix));
 #else  /* ! HAVE_MKSTEMPS */
-    /* Solaris 10, e.g. */
+    /* NetBSD, Solaris 10 */
 
     if (pfx_in == NULL) {
         tmpfil = concat(get_temp_dir(), "/nmhXXXXXX", NULL);
 
     if (pfx_in == NULL) {
         tmpfil = concat(get_temp_dir(), "/nmhXXXXXX", NULL);
@@ -355,13 +354,13 @@ remove_registered_files(int sig) {
 
         exit(1);
     } else {
 
         exit(1);
     } else {
+        remove_registered_files_atexit();
+
         act.sa_handler = SIG_DFL;
         (void) sigemptyset(&act.sa_mask);
         act.sa_flags = 0;
         (void) sigaction(sig, &act, 0);
 
         act.sa_handler = SIG_DFL;
         (void) sigemptyset(&act.sa_mask);
         act.sa_flags = 0;
         (void) sigaction(sig, &act, 0);
 
-        remove_registered_files_atexit();
-
         (void) raise(sig);
     }
 }
         (void) raise(sig);
     }
 }