Include errno.h in zipint.h. Define missing error codes centrally in zipint.h. Remove errno.h inclusion everywhere else.
diff --git a/lib/zip_close.c b/lib/zip_close.c index a13e446..b5eca67 100644 --- a/lib/zip_close.c +++ b/lib/zip_close.c
@@ -40,7 +40,6 @@ #ifdef HAVE_STRINGS_H #include <strings.h> #endif -#include <errno.h> #ifdef HAVE_UNISTD_H #include <unistd.h> #endif
diff --git a/lib/zip_dirent.c b/lib/zip_dirent.c index aa55a68..cac1565 100644 --- a/lib/zip_dirent.c +++ b/lib/zip_dirent.c
@@ -35,7 +35,6 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <errno.h> #include <sys/types.h> #include <sys/stat.h>
diff --git a/lib/zip_error.c b/lib/zip_error.c index a21a00b..802d93f 100644 --- a/lib/zip_error.c +++ b/lib/zip_error.c
@@ -31,7 +31,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include <errno.h> #include <stdlib.h> #include "zipint.h"
diff --git a/lib/zip_error_strerror.c b/lib/zip_error_strerror.c index 2f124cc..060ff29 100644 --- a/lib/zip_error_strerror.c +++ b/lib/zip_error_strerror.c
@@ -32,7 +32,6 @@ */ -#include <errno.h> #include <stdio.h> #include <stdlib.h> #include <string.h>
diff --git a/lib/zip_error_to_str.c b/lib/zip_error_to_str.c index d411925..d5998e6 100644 --- a/lib/zip_error_to_str.c +++ b/lib/zip_error_to_str.c
@@ -32,7 +32,6 @@ */ -#include <errno.h> #include <stdio.h> #include <stdlib.h> #include <string.h>
diff --git a/lib/zip_extra_field.c b/lib/zip_extra_field.c index b2566c6..eb69356 100644 --- a/lib/zip_extra_field.c +++ b/lib/zip_extra_field.c
@@ -31,13 +31,11 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -#include "zipint.h" - -#include <errno.h> #include <stdlib.h> #include <string.h> +#include "zipint.h" + zip_extra_field_t * _zip_ef_clone(const zip_extra_field_t *ef, zip_error_t *error)
diff --git a/lib/zip_file_get_offset.c b/lib/zip_file_get_offset.c index 1aaca71..0b09e0d 100644 --- a/lib/zip_file_get_offset.c +++ b/lib/zip_file_get_offset.c
@@ -35,7 +35,6 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <errno.h> #include <sys/types.h> #include <sys/stat.h>
diff --git a/lib/zip_filerange_crc.c b/lib/zip_filerange_crc.c index 8e06e8f..4530020 100644 --- a/lib/zip_filerange_crc.c +++ b/lib/zip_filerange_crc.c
@@ -33,7 +33,6 @@ #include <stdio.h> -#include <errno.h> #include "zipint.h"
diff --git a/lib/zip_fopen_index.c b/lib/zip_fopen_index.c index e9a169a..d626ce7 100644 --- a/lib/zip_fopen_index.c +++ b/lib/zip_fopen_index.c
@@ -32,7 +32,6 @@ */ -#include <errno.h> #include <stdio.h> #include <stdlib.h>
diff --git a/lib/zip_fopen_index_encrypted.c b/lib/zip_fopen_index_encrypted.c index 21cc433..9c1e901 100644 --- a/lib/zip_fopen_index_encrypted.c +++ b/lib/zip_fopen_index_encrypted.c
@@ -32,7 +32,6 @@ */ -#include <errno.h> #include <stdio.h> #include <stdlib.h>
diff --git a/lib/zip_io_util.c b/lib/zip_io_util.c index 4a6bc1d..48e5668 100644 --- a/lib/zip_io_util.c +++ b/lib/zip_io_util.c
@@ -31,7 +31,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include <errno.h> #include <stdlib.h> #include <string.h>
diff --git a/lib/zip_open.c b/lib/zip_open.c index f683bd2..1f5e4d8 100644 --- a/lib/zip_open.c +++ b/lib/zip_open.c
@@ -33,19 +33,11 @@ #include <sys/stat.h> -#include <errno.h> #include <limits.h> #include <stdio.h> #include <stdlib.h> #include <string.h> -/* at least MinGW does not provide this error code, see - * http://sourceforge.net/p/mingw/bugs/263/ - */ -#ifndef EOPNOTSUPP -#define EOPNOTSUPP EINVAL -#endif - #include "zipint.h" typedef enum {
diff --git a/lib/zip_source_buffer.c b/lib/zip_source_buffer.c index 091abe1..e2c5b5a 100644 --- a/lib/zip_source_buffer.c +++ b/lib/zip_source_buffer.c
@@ -31,19 +31,11 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include <errno.h> #include <stdlib.h> #include <string.h> #include "zipint.h" -/* at least MinGW does not provide this error code, see - * http://sourceforge.net/p/mingw/bugs/242/ - */ -#ifndef EOVERFLOW -#define EOVERFLOW EFBIG -#endif - #ifndef WRITE_FRAGMENT_SIZE #define WRITE_FRAGMENT_SIZE 64*1024 #endif
diff --git a/lib/zip_source_file.c b/lib/zip_source_file.c index 1465e17..b3cd7ab 100644 --- a/lib/zip_source_file.c +++ b/lib/zip_source_file.c
@@ -32,7 +32,6 @@ */ -#include <errno.h> #include <stdio.h> #include "zipint.h"
diff --git a/lib/zip_source_filep.c b/lib/zip_source_filep.c index 5ad4285..191a81c 100644 --- a/lib/zip_source_filep.c +++ b/lib/zip_source_filep.c
@@ -31,15 +31,13 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -#include "zipint.h" - #include <sys/stat.h> -#include <errno.h> #include <stdio.h> #include <stdlib.h> #include <string.h> +#include "zipint.h" + #ifdef _WIN32 /* WIN32 needs <fcntl.h> for _O_BINARY */ #include <fcntl.h> @@ -62,13 +60,6 @@ typedef int mode_t; #endif -/* at least MinGW does not provide this error code, see - * http://sourceforge.net/p/mingw/bugs/242/ - */ -#ifndef EOVERFLOW -#define EOVERFLOW EFBIG -#endif - struct read_file { zip_error_t error; /* last error information */ zip_int64_t supports;
diff --git a/lib/zip_source_win32a.c b/lib/zip_source_win32a.c index c20e891..ac1f256 100644 --- a/lib/zip_source_win32a.c +++ b/lib/zip_source_win32a.c
@@ -32,7 +32,6 @@ */ -#include <errno.h> #include <stdio.h> #include "zipint.h"
diff --git a/lib/zip_source_win32handle.c b/lib/zip_source_win32handle.c index cfa02aa..7e30dfc 100644 --- a/lib/zip_source_win32handle.c +++ b/lib/zip_source_win32handle.c
@@ -33,20 +33,12 @@ #include <wchar.h> -#include <errno.h> #include <stdlib.h> #include <string.h> #include "zipint.h" #include "zipwin32.h" -/* at least MinGW does not provide this error code, see - * http://sourceforge.net/p/mingw/bugs/242/ - */ -#ifndef EOVERFLOW -#define EOVERFLOW EFBIG -#endif - static zip_int64_t _win32_read_file(void *state, void *data, zip_uint64_t len, zip_source_cmd_t cmd); static int _win32_create_temp_file(_zip_source_win32_read_file_t *ctx); static int _zip_filetime_to_time_t(FILETIME ft, time_t *t);
diff --git a/lib/zip_source_win32utf8.c b/lib/zip_source_win32utf8.c index e11214b..004c66a 100644 --- a/lib/zip_source_win32utf8.c +++ b/lib/zip_source_win32utf8.c
@@ -32,7 +32,6 @@ */ -#include <errno.h> #include <stdio.h> #include "zipint.h"
diff --git a/lib/zip_source_win32w.c b/lib/zip_source_win32w.c index 27cdf91..14e5999 100644 --- a/lib/zip_source_win32w.c +++ b/lib/zip_source_win32w.c
@@ -32,7 +32,6 @@ */ -#include <errno.h> #include <stdio.h> #include "zipint.h"
diff --git a/lib/zipint.h b/lib/zipint.h index c7c2e3a..a53d62c 100644 --- a/lib/zipint.h +++ b/lib/zipint.h
@@ -63,6 +63,22 @@ #define false 0 #endif +#include <errno.h> + +/* at least MinGW does not provide EOPNOTSUPP, see + * http://sourceforge.net/p/mingw/bugs/263/ + */ +#ifndef EOPNOTSUPP +#define EOPNOTSUPP EINVAL +#endif + +/* at least MinGW does not provide EOVERFLOW, see + * http://sourceforge.net/p/mingw/bugs/242/ + */ +#ifndef EOVERFLOW +#define EOVERFLOW EFBIG +#endif + #ifdef _WIN32 #if defined(HAVE__CLOSE) #define close _close