diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/fst/config.h | 1 | ||||
-rw-r--r-- | libs/fst/fst_win_unistd.h | 52 | ||||
-rw-r--r-- | libs/fst/fstapi.cc | 6 | ||||
-rw-r--r-- | libs/fst/fstapi.h | 22 |
4 files changed, 24 insertions, 57 deletions
diff --git a/libs/fst/config.h b/libs/fst/config.h index 7e66f24b7..0598fb8c5 100644 --- a/libs/fst/config.h +++ b/libs/fst/config.h @@ -19,6 +19,7 @@ #undef HAVE_ALLOCA_H #undef HAVE_REALPATH #undef HAVE_LIBPTHREAD +#undef HAVE_FSEEKO #endif # ifndef __STDC_FORMAT_MACROS diff --git a/libs/fst/fst_win_unistd.h b/libs/fst/fst_win_unistd.h deleted file mode 100644 index 09539e53c..000000000 --- a/libs/fst/fst_win_unistd.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2009-2018 Tony Bybell. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * SPDX-License-Identifier: MIT - */ - -#ifndef WIN_UNISTD_H -#define WIN_UNISTD_H - -#include <stdlib.h> -#ifdef _WIN64 -#include <io.h> -#else -#include <sys/io.h> -#endif - -#include <process.h> - -#define ftruncate _chsize_s -#define unlink _unlink -#define fileno _fileno -#define lseek _lseeki64 - -#ifdef _WIN64 -#define ssize_t __int64 -#define SSIZE_MAX 9223372036854775807i64 -#else -#define ssize_t long -#define SSIZE_MAX 2147483647L -#endif - -#include "stdint.h" - -#endif // WIN_UNISTD_H diff --git a/libs/fst/fstapi.cc b/libs/fst/fstapi.cc index 0b8f49146..b79470db3 100644 --- a/libs/fst/fstapi.cc +++ b/libs/fst/fstapi.cc @@ -156,7 +156,7 @@ void **JenkinsIns(void *base_i, const unsigned char *mem, uint32_t length, uint3 /*** ***/ /***********************/ -#ifdef __MINGW32__ +#if defined(__MINGW32__) || defined(_MSC_VER) #include <io.h> #ifndef HAVE_FSEEKO #define ftello _ftelli64 @@ -306,7 +306,7 @@ static char *fstRealpath(const char *path, char *resolved_path) /* * mmap compatibility */ -#if defined __CYGWIN__ || defined __MINGW32__ +#if defined __CYGWIN__ || defined __MINGW32__ || defined _MSC_VER #include <limits.h> #define fstMmap(__addr, __len, __prot, __flags, __fd, __off) fstMmap2((__len), (__fd), (__off)) #define fstMunmap(__addr, __len) free(__addr) @@ -912,7 +912,7 @@ static void fstWriterEmitHdrBytes(struct fstWriterContext *xc) */ static void fstWriterMmapSanity(void *pnt, const char *file, int line, const char *usage) { -#if !defined(__CYGWIN__) && !defined(__MINGW32__) +#if !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(_MSC_VER) if (pnt == MAP_FAILED) { fprintf(stderr, "fstMmap() assigned to %s failed: errno: %d, file %s, line %d.\n", usage, errno, file, line); perror("Why"); diff --git a/libs/fst/fstapi.h b/libs/fst/fstapi.h index ca8e3008f..a5e0971a1 100644 --- a/libs/fst/fstapi.h +++ b/libs/fst/fstapi.h @@ -33,11 +33,29 @@ extern "C" { #include <stdlib.h> #include <string.h> #include <ctype.h> -#include <zlib.h> #include <inttypes.h> #if defined(_MSC_VER) -#include "fst_win_unistd.h" +#include "libs/zlib/zlib.h" +#include <io.h> + +#include <process.h> + +#define ftruncate _chsize_s +#define unlink _unlink +#define fileno _fileno +#define lseek _lseeki64 + +#ifdef _WIN64 +#define ssize_t __int64 +#define SSIZE_MAX 9223372036854775807i64 #else +#define ssize_t long +#define SSIZE_MAX 2147483647L +#endif + +#include "stdint.h" +#else +#include <zlib.h> #include <unistd.h> #endif #include <time.h> |