]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Use setmode compatiblity macro on Windows
authorBrad King <brad.king@kitware.com>
Wed, 11 Nov 2009 14:19:49 +0000 (09:19 -0500)
committerBrad King <brad.king@kitware.com>
Wed, 11 Nov 2009 14:19:49 +0000 (09:19 -0500)
Instead of duplicating preprocessor tests to call setmode or _setmode,
we define setmode to _setmode on Windows.

SVN-Revision: 1637

libarchive/archive_read_open_fd.c
libarchive/archive_read_open_file.c
libarchive/archive_read_open_filename.c
libarchive/archive_windows.h
libarchive/archive_write_open_fd.c

index 33912a36aef9e8c8b894fe5de5b33afd0579201a..9af5d3c601a423111c067d94726728ab2f714026 100644 (file)
@@ -101,10 +101,8 @@ archive_read_open_fd(struct archive *a, int fd, size_t block_size)
                mine->can_skip = 1;
        } else
                mine->can_skip = 0;
-#if defined(__CYGWIN__)
+#if defined(__CYGWIN__) || defined(_WIN32)
        setmode(mine->fd, O_BINARY);
-#elif defined(_WIN32)
-       _setmode(mine->fd, _O_BINARY);
 #endif
 
        return (archive_read_open2(a, mine,
index 8fb65150f25b2c84d0cbd89b902756a7e5abd88c..038ef2bfd6c5a65965f80d9f5a36dd389bf2a5e2 100644 (file)
@@ -97,10 +97,8 @@ archive_read_open_FILE(struct archive *a, FILE *f)
        } else
                mine->can_skip = 0;
 
-#if defined(__CYGWIN__)
+#if defined(__CYGWIN__) || defined(_WIN32)
        setmode(fileno(mine->f), O_BINARY);
-#elif defined(_WIN32)
-       _setmode(_fileno(mine->f), _O_BINARY);
 #endif
 
        return (archive_read_open2(a, mine, NULL, file_read,
index 375339e3cf4495dacc7c2d5b331ba40117a9fb45..c92beffe8468c65742f015aca10b0415e134e9db 100644 (file)
@@ -99,10 +99,8 @@ archive_read_open_filename(struct archive *a, const char *filename,
                 */
                filename = ""; /* Normalize NULL to "" */
                fd = 0;
-#if defined(__CYGWIN__)
+#if defined(__CYGWIN__) || defined(_WIN32)
                setmode(0, O_BINARY);
-#elif defined(_WIN32)
-               _setmode(0, _O_BINARY);
 #endif
        } else {
                fd = open(filename, O_RDONLY | O_BINARY);
index 9ed6fc32c96ad392747e3bca2644ae72e8667831..e65be916c0916746ad341a3688a6b8c025e8df57 100644 (file)
 #define        open            __la_open
 #define        read            __la_read
 #define        rmdir           __la_rmdir
+#define setmode                _setmode
 #define        stat(path,stref)                __la_stat(path,stref)
 #define        strdup          _strdup
 #define        tzset           _tzset
 #define        O_TRUNC         _O_TRUNC
 #define        O_CREAT         _O_CREAT
 #define        O_EXCL          _O_EXCL
+#define        O_BINARY        _O_BINARY
 
 #ifndef _S_IFIFO
   #define      _S_IFIFO        0010000   /* pipe */
index 152403209bde7af5db76d05cbba0f53d2d685edf..7be777201c174ac6d12057ac05e829578ad51d06 100644 (file)
@@ -70,10 +70,8 @@ archive_write_open_fd(struct archive *a, int fd)
                return (ARCHIVE_FATAL);
        }
        mine->fd = fd;
-#if defined(__CYGWIN__)
+#if defined(__CYGWIN__) || defined(_WIN32)
        setmode(mine->fd, O_BINARY);
-#elif defined(_WIN32)
-       _setmode(mine->fd, _O_BINARY);
 #endif
        return (archive_write_open(a, mine,
                    file_open, file_write, file_close));