OSDN Git Service

* src/lhadd.c (build_temporary_file): no use SIGHUP for mingw32.
authorarai <arai@6a8cc165-1e22-0410-a132-eb4e3f353aba>
Sat, 18 May 2002 15:48:47 +0000 (15:48 +0000)
committerarai <arai@6a8cc165-1e22-0410-a132-eb4e3f353aba>
Sat, 18 May 2002 15:48:47 +0000 (15:48 +0000)
(build_backup_file): ditto.

* src/lharc.c (interrupt): ditto.

* src/lhext.c (extract_one): ditto.

* src/lhext.c (make_parent_path): mkdir() has no 2nd argument on mingw32.

git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/lha/lha/trunk@48 6a8cc165-1e22-0410-a132-eb4e3f353aba

src/lhadd.c
src/lharc.c
src/lhext.c

index 1749936..b73d20e 100644 (file)
@@ -273,7 +273,9 @@ build_temporary_file()
 
        build_temporary_name();
        signal(SIGINT, interrupt);
+#ifdef SIGHUP
        signal(SIGHUP, interrupt);
+#endif
 
        old_umask = umask(077);
        afp = xfopen(temporary_name, WRITE_BINARY);
@@ -292,12 +294,16 @@ build_backup_file()
        build_backup_name(backup_archive_name, archive_name);
        if (!noexec) {
                signal(SIGINT, SIG_IGN);
+#ifdef SIGHUP
                signal(SIGHUP, SIG_IGN);
+#endif
                if (rename(archive_name, backup_archive_name) < 0)
                        fatal_error(archive_name);
                recover_archive_when_interrupt = TRUE;
                signal(SIGINT, interrupt);
+#ifdef SIGHUP
                signal(SIGHUP, interrupt);
+#endif
        }
 }
 
index da5037c..65c2612 100644 (file)
@@ -547,7 +547,9 @@ interrupt(signo)
                unlink(writting_filename);
        }
        signal(SIGINT, SIG_DFL);
+#ifdef SIGHUP
        signal(SIGHUP, SIG_DFL);
+#endif
        kill(getpid(), signo);
 }
 
index c347f48..32c5a25 100644 (file)
@@ -105,17 +105,28 @@ make_parent_path(name)
        if (verbose)
                printf("Making directory \"%s\".\n", path);
 
+#if defined __MINGW32__
+    if (mkdir(path) >= 0)
+        return TRUE;
+#else
        if (mkdir(path, 0777) >= 0)     /* try */
                return TRUE;    /* successful done. */
+#endif
        errno = 0;
 
        if (!make_parent_path(path))
                return FALSE;
 
+#if defined __MINGW32__
+    if (mkdir(path) < 0)
+               message("Cannot make directory", path);
+        return FALSE;
+#else
        if (mkdir(path, 0777) < 0) {    /* try again */
                message("Cannot make directory", path);
                return FALSE;
        }
+#endif
 
        return TRUE;
 }
@@ -293,7 +304,9 @@ extract_one(afp, hdr)
                        }
 
                        signal(SIGINT, interrupt);
+#ifdef SIGHUP
                        signal(SIGHUP, interrupt);
+#endif
 
                        unlink(name);
                        errno = 0;
@@ -306,8 +319,9 @@ extract_one(afp, hdr)
                        }
                        remove_extracting_file_when_interrupt = FALSE;
                        signal(SIGINT, SIG_DFL);
+#ifdef SIGHUP
                        signal(SIGHUP, SIG_DFL);
-
+#endif
                        if (!fp)
                                return;
                }