diff options
-rw-r--r-- | ConfigureChecks.cmake | 2 | ||||
-rw-r--r-- | config.h.cmake | 3 | ||||
-rw-r--r-- | include/libssh/priv.h | 25 |
3 files changed, 17 insertions, 13 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index f73fc567..f602e11e 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -103,6 +103,8 @@ check_function_exists(vsnprintf HAVE_VSNPRINTF) check_function_exists(snprintf HAVE_SNPRINTF) if (WIN32) + check_function_exists(_strtoui64 HAVE__STRTOUI64) + check_function_exists(_vsnprintf_s HAVE__VSNPRINTF_S) check_function_exists(_vsnprintf HAVE__VSNPRINTF) check_function_exists(_snprintf HAVE__SNPRINTF) diff --git a/config.h.cmake b/config.h.cmake index 0c7c0acf..16c60529 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -106,6 +106,9 @@ /* Define to 1 if you have the `__strtoull' function. */ #cmakedefine HAVE___STRTOULL 1 +/* Define to 1 if you have the `_strtoui64' function. */ +#cmakedefine HAVE__STRTOUI64 1 + /*************************** LIBRARIES ***************************/ /* Define to 1 if you have the `crypto' library (-lcrypto). */ diff --git a/include/libssh/priv.h b/include/libssh/priv.h index e27c66a0..abf307ad 100644 --- a/include/libssh/priv.h +++ b/include/libssh/priv.h @@ -31,6 +31,18 @@ #include "config.h" +#if !defined(HAVE_STRTOULL) +# if defined(HAVE___STRTOULL) +# define strtoull __strtoull +# elif defined(HAVE__STRTOUI64) +# define strtoull _strtoui64 +# elif defined(__hpux) && defined(__LP64__) +# define strtoull strtoul +# else +# error "no strtoull function found" +# endif +#endif /* !defined(HAVE_STRTOULL) */ + #ifdef _WIN32 /* Imitate define of inttypes.h */ @@ -46,16 +58,6 @@ # endif /* __WORDSIZE */ # endif /* PRIu64 */ -#if !defined(HAVE_STRTOULL) -# if defined(HAVE___STRTOULL) -# define strtoull __strtoull -# elif defined(__hpux) && defined(__LP64__) -# define strtoull strtoul -# else -# error "no strtoull function found" -# endif -#endif /* !defined(HAVE_STRTOULL) */ - # ifdef _MSC_VER # include <stdio.h> @@ -65,9 +67,6 @@ # define strcasecmp _stricmp # define strncasecmp _strnicmp -# if !defined(HAVE_STRTOULL) -# define strtoull _strtoui64 -# endif # define isblank(ch) ((ch) == ' ' || (ch) == '\t' || (ch) == '\n' || (ch) == '\r') # define usleep(X) Sleep(((X)+1000)/1000) |