]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
fixes to build by Open Watcom toolchain
authorJiri Malak <malak.jiri@gmail.com>
Wed, 12 Mar 2014 06:32:22 +0000 (07:32 +0100)
committerJiri Malak <malak.jiri@gmail.com>
Wed, 12 Mar 2014 06:32:22 +0000 (07:32 +0100)
libarchive/archive_windows.h
libarchive/archive_write_set_format_zip.c
libarchive/test/main.c
libarchive/test/test_write_format_zip_large.c
tar/bsdtar_windows.h
tar/test/main.c

index 6e9277e97942e183aef593acb27b70f4e1e31312..63947c8c4b48525301fe7bb3f9a08e33aff8a588 100644 (file)
 #define        lstat           __la_stat
 #define        open            __la_open
 #define        read            __la_read
-#if !defined(__BORLANDC__)
+#if !defined(__BORLANDC__) && !defined(__WATCOMC__)
 #define setmode                _setmode
 #endif
 #ifdef stat
 #undef stat
 #endif
 #define        stat(path,stref)                __la_stat(path,stref)
+#if !defined(__WATCOMC__)
 #if !defined(__BORLANDC__)
 #define        strdup          _strdup
 #endif
 #if !defined(__BORLANDC__)
 #define        umask           _umask
 #endif
+#endif
 #define        waitpid         __la_waitpid
 #define        write           __la_write
 
+#if !defined(__WATCOMC__)
+
 #ifndef O_RDONLY
 #define        O_RDONLY        _O_RDONLY
 #define        O_WRONLY        _O_WRONLY
 #define        S_IWOTH        _S_IWOTH
 #define        S_IROTH        _S_IROTH
 
+#endif
+
 #define        F_DUPFD         0       /* Duplicate file descriptor.  */
 #define        F_GETFD         1       /* Get file descriptor flags.  */
 #define        F_SETFD         2       /* Set file descriptor flags.  */
index 3fcd558f66ff50d758d8f44e894f668654bb90ce..ccd50ea90bdf31edd12710fa8cc893a3401d59ee 100644 (file)
@@ -622,9 +622,9 @@ archive_write_zip_header(struct archive_write *a, struct archive_entry *entry)
        /* Following Info-Zip, store mode in the "external attributes" field. */
        archive_le32enc(zip->file_header + 38,
            archive_entry_mode(zip->entry) << 16);
-       unsigned char *fn = cd_alloc(zip, filename_length);
-       /* If (fn == NULL) XXXX */
-       copy_path(zip->entry, fn);
+       e = cd_alloc(zip, filename_length);
+       /* If (e == NULL) XXXX */
+       copy_path(zip->entry, e);
 
        /* Format extra data. */
        memset(local_extra, 0, sizeof(local_extra));
index aa64dfb74002b80973c59f3dfc4ab4395a386b64..f3567d982e2f5c495b9248b4782e19e8e5d032e2 100644 (file)
@@ -2557,7 +2557,7 @@ main(int argc, char **argv)
        while (pwd[strlen(pwd) - 1] == '\n')
                pwd[strlen(pwd) - 1] = '\0';
 
-#if defined(HAVE__CrtSetReportMode)
+#if defined(HAVE__CrtSetReportMode) && !defined(__WATCOMC__)
        /* To stop to run the default invalid parameter handler. */
        _set_invalid_parameter_handler(invalid_parameter_handler);
        /* Disable annoying assertion message box. */
index d302e5e8ab318f20bf0519c64cd0c9254717ad2f..e8a8b0ea3ca09dc6e6e42801ac3c57bc171f0da7 100644 (file)
@@ -121,8 +121,8 @@ memory_read(struct archive *a, void *_private, const void **buff)
        /* If there's real data, return that. */
        if (private->buff != NULL) {
                *buff = private->buff;
-               size = (private->current->buff + private->current->size)
-                   - private->buff;
+               size = ((char *)private->current->buff + private->current->size)
+                   - (char *)private->buff;
                private->buff = NULL;
                private->fileposition += size;
                return (size);
@@ -199,7 +199,7 @@ memory_read_seek(struct archive *a, void *_private, int64_t offset, int whence)
        while (private->current != NULL) {
                if (offset + private->current->size > private->fileposition) {
                        /* Position is in this block. */
-                       private->buff = private->current->buff
+                       private->buff = (char *)private->current->buff
                            + private->fileposition - offset;
                        private->gap_remaining = private->current->gap_size;
                        return private->fileposition;
index f0611d79abdcd50ee7668624072a343a90c44ed1..f025d056fe2f053cee2ae9ccd2c1d6b202353d2d 100644 (file)
@@ -35,6 +35,8 @@
 #endif
 #define        geteuid()       0
 
+#ifndef __WATCOMC__
+
 #ifndef S_IFIFO
 #define        S_IFIFO 0010000 /* pipe */
 #endif
@@ -57,4 +59,6 @@ int __tar_chdir(const char *);
 #define        S_ISBLK(a)      (0)
 #endif
 
+#endif
+
 #endif /* BSDTAR_WINDOWS_H */
index f2dcaf4ae83b5070c8bfbe75e7f0775cdd7ba8f3..face5ca36baef51935d5043971fb7694b3ef6de4 100644 (file)
@@ -2516,7 +2516,7 @@ main(int argc, char **argv)
        while (pwd[strlen(pwd) - 1] == '\n')
                pwd[strlen(pwd) - 1] = '\0';
 
-#if defined(HAVE__CrtSetReportMode)
+#if defined(HAVE__CrtSetReportMode) && !defined(__WATCOMC__)
        /* To stop to run the default invalid parameter handler. */
        _set_invalid_parameter_handler(invalid_parameter_handler);
        /* Disable annoying assertion message box. */