From 9fc925d77163f1d63e21a65654b0f59678abf08d Mon Sep 17 00:00:00 2001 From: Bill Jin Date: Thu, 24 Apr 2025 06:43:18 +0000 Subject: [PATCH] MDEV-35461 Remove redundant checks for standard library functions Remove function checks that are guaranteed by C89/C99 standards to reduce the excessive time spent during CMake configuration step. Also, clean up related compatibility code. All new code of the whole pull request, including one or several files that are either new files or modified ones, are contributed under the BSD-new license. I am contributing on behalf of my employer Amazon Web Services, Inc. --- client/mysql.cc | 2 -- cmake/os/WindowsCache.cmake | 14 -------------- config.h.cmake | 14 -------------- configure.cmake | 16 ++-------------- dbug/dbug.c | 13 ------------- extra/readline/CMakeLists.txt | 3 ++- include/m_string.h | 18 +----------------- mysys/charset.c | 2 +- mysys/my_rdtsc.c | 8 ++------ mysys/my_rename.c | 5 +---- plugin/cracklib_password_check/CMakeLists.txt | 2 +- sql/log.cc | 4 +--- sql/mysqld.cc | 2 +- strings/int2str.c | 9 --------- zlib/CMakeLists.txt | 1 + 15 files changed, 13 insertions(+), 100 deletions(-) diff --git a/client/mysql.cc b/client/mysql.cc index 283578f3c8c..089f7d5e575 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -3044,9 +3044,7 @@ static void initialize_readline () /* Allow conditional parsing of the ~/.inputrc file. */ rl_readline_name= (char *) "mysql"; rl_terminal_name= getenv("TERM"); -#ifdef HAVE_SETLOCALE setlocale(LC_ALL,""); -#endif /* Tell the completer that we want a crack first. */ #if defined(USE_NEW_READLINE_INTERFACE) diff --git a/cmake/os/WindowsCache.cmake b/cmake/os/WindowsCache.cmake index bc9bacf902a..80c4845811b 100644 --- a/cmake/os/WindowsCache.cmake +++ b/cmake/os/WindowsCache.cmake @@ -83,7 +83,6 @@ SET(HAVE_IPPROTO_IPV6 CACHE INTERNAL "") SET(HAVE_IPV6 TRUE CACHE INTERNAL "") SET(HAVE_IPV6_V6ONLY 1 CACHE INTERNAL "") SET(HAVE_LANGINFO_H CACHE INTERNAL "") -SET(HAVE_LDIV 1 CACHE INTERNAL "") SET(HAVE_LIMITS_H 1 CACHE INTERNAL "") SET(HAVE_LINUX_MMAN_H CACHE INTERNAL "") SET(HAVE_LOCALE_H 1 CACHE INTERNAL "") @@ -95,8 +94,6 @@ SET(HAVE_MALLINFO CACHE INTERNAL "") SET(HAVE_MALLINFO2 CACHE INTERNAL "") SET(HAVE_MALLOC_H 1 CACHE INTERNAL "") SET(HAVE_MALLOC_ZONE CACHE INTERNAL "") -SET(HAVE_MEMCPY 1 CACHE INTERNAL "") -SET(HAVE_MEMMOVE 1 CACHE INTERNAL "") SET(HAVE_MEMORY_H 1 CACHE INTERNAL "") SET(HAVE_MKSTEMP CACHE INTERNAL "") SET(HAVE_MKOSTEMP CACHE INTERNAL "") @@ -111,7 +108,6 @@ SET(HAVE_NL_LANGINFO CACHE INTERNAL "") SET(HAVE_PASE_ENVIRONMENT CACHE INTERNAL "") SET(HAVE_PATHS_H CACHE INTERNAL "") SET(HAVE_PCLOSE CACHE INTERNAL "") -SET(HAVE_PERROR 1 CACHE INTERNAL "") SET(HAVE_PEERCRED CACHE INTERNAL "") SET(HAVE_PAM_APPL_H CACHE INTERNAL "") SET(HAVE_POLL_H CACHE INTERNAL "") @@ -139,14 +135,12 @@ SET(HAVE_READDIR_R CACHE INTERNAL "") SET(HAVE_READLINK CACHE INTERNAL "") SET(HAVE_READ_REAL_TIME CACHE INTERNAL "") SET(HAVE_REALPATH CACHE INTERNAL "") -SET(HAVE_RENAME 1 CACHE INTERNAL "") SET(HAVE_RWLOCK_INIT CACHE INTERNAL "") SET(HAVE_SCHED_H CACHE INTERNAL "") SET(HAVE_SCHED_YIELD CACHE INTERNAL "") SET(HAVE_SELECT 1 CACHE INTERNAL "") SET(HAVE_SELECT_H CACHE INTERNAL "") SET(HAVE_SETENV CACHE INTERNAL "") -SET(HAVE_SETLOCALE 1 CACHE INTERNAL "") SET(HAVE_SETMNTENT CACHE INTERNAL "") SET(HAVE_SIGACTION CACHE INTERNAL "") SET(HAVE_SIGINT 1 CACHE INTERNAL "") @@ -195,17 +189,11 @@ SET(HAVE_STDINT_H CACHE INTERNAL "") SET(HAVE_STDLIB_H 1 CACHE INTERNAL "") SET(HAVE_STPCPY CACHE INTERNAL "") SET(HAVE_STRCASECMP CACHE INTERNAL "") -SET(HAVE_STRCOLL 1 CACHE INTERNAL "") -SET(HAVE_STRERROR 1 CACHE INTERNAL "") SET(HAVE_STRINGS_H CACHE INTERNAL "") SET(HAVE_STRING_H 1 CACHE INTERNAL "") SET(HAVE_STRNDUP CACHE INTERNAL "") SET(HAVE_STRNLEN 1 CACHE INTERNAL "") -SET(HAVE_STRPBRK 1 CACHE INTERNAL "") SET(HAVE_STRTOK_R 1 CACHE INTERNAL "") -SET(HAVE_STRTOLL 1 CACHE INTERNAL "") -SET(HAVE_STRTOUL 1 CACHE INTERNAL "") -SET(HAVE_STRTOULL 1 CACHE INTERNAL "") SET(HAVE_SYNCH_H CACHE INTERNAL "") SET(HAVE_SYSENT_H CACHE INTERNAL "") SET(HAVE_SYS_DIR_H CACHE INTERNAL "") @@ -241,7 +229,6 @@ SET(HAVE_TERMIOS_H CACHE INTERNAL "") SET(HAVE_TERMIO_H CACHE INTERNAL "") SET(HAVE_TERM_H CACHE INTERNAL "") SET(HAVE_THR_YIELD CACHE INTERNAL "") -SET(HAVE_TIME 1 CACHE INTERNAL "") SET(HAVE_TIMES CACHE INTERNAL "") SET(HAVE_TIMESPEC_TS_SEC CACHE INTERNAL "") SET(HAVE_TIME_H 1 CACHE INTERNAL "") @@ -250,7 +237,6 @@ SET(HAVE_UNISTD_H CACHE INTERNAL "") SET(HAVE_UTIME_H CACHE INTERNAL "") SET(HAVE_VARARGS_H 1 CACHE INTERNAL "") SET(HAVE_VASPRINTF CACHE INTERNAL "") -SET(HAVE_VSNPRINTF 1 CACHE INTERNAL "") SET(HAVE_WEAK_SYMBOL CACHE INTERNAL "") SET(HAVE_ATTRIBUTE_CLEANUP CACHE INTERNAL "") SET(HAVE_WORDS_BIGENDIAN TRUE CACHE INTERNAL "") diff --git a/config.h.cmake b/config.h.cmake index 681fe17db33..305ff3a5226 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -164,7 +164,6 @@ #cmakedefine gmtime_r @gmtime_r@ #cmakedefine HAVE_IN_ADDR_T 1 #cmakedefine HAVE_INITGROUPS 1 -#cmakedefine HAVE_LDIV 1 #cmakedefine HAVE_LRAND48 1 #cmakedefine HAVE_LOCALTIME_R 1 #cmakedefine HAVE_LSTAT 1 @@ -176,15 +175,12 @@ #cmakedefine HAVE_MALLINFO 1 #cmakedefine HAVE_MALLINFO2 1 #cmakedefine HAVE_MALLOC_ZONE 1 -#cmakedefine HAVE_MEMCPY 1 -#cmakedefine HAVE_MEMMOVE 1 #cmakedefine HAVE_MKSTEMP 1 #cmakedefine HAVE_MKOSTEMP 1 #cmakedefine HAVE_MLOCKALL 1 #cmakedefine HAVE_MMAP 1 #cmakedefine HAVE_MMAP64 1 #cmakedefine HAVE_MPROTECT 1 -#cmakedefine HAVE_PERROR 1 #cmakedefine HAVE_POLL 1 #cmakedefine HAVE_POSIX_FALLOCATE 1 #cmakedefine HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE 1 @@ -209,12 +205,10 @@ #cmakedefine HAVE_READDIR_R 1 #cmakedefine HAVE_READLINK 1 #cmakedefine HAVE_REALPATH 1 -#cmakedefine HAVE_RENAME 1 #cmakedefine HAVE_RWLOCK_INIT 1 #cmakedefine HAVE_SCHED_YIELD 1 #cmakedefine HAVE_SELECT 1 #cmakedefine HAVE_SETENV 1 -#cmakedefine HAVE_SETLOCALE 1 #cmakedefine HAVE_SETMNTENT 1 #cmakedefine HAVE_SETUPTERM 1 #cmakedefine HAVE_SIGSET 1 @@ -224,22 +218,14 @@ #cmakedefine HAVE_SIGWAITINFO 1 #cmakedefine HAVE_SLEEP 1 #cmakedefine HAVE_STPCPY 1 -#cmakedefine HAVE_STRERROR 1 -#cmakedefine HAVE_STRCOLL 1 #cmakedefine HAVE_STRNLEN 1 -#cmakedefine HAVE_STRPBRK 1 #cmakedefine HAVE_STRTOK_R 1 -#cmakedefine HAVE_STRTOLL 1 -#cmakedefine HAVE_STRTOUL 1 -#cmakedefine HAVE_STRTOULL 1 #cmakedefine HAVE_TELL 1 #cmakedefine HAVE_THR_YIELD 1 -#cmakedefine HAVE_TIME 1 #cmakedefine HAVE_TIMES 1 #cmakedefine HAVE_VIDATTR 1 #define HAVE_VIO_READ_BUFF 1 #cmakedefine HAVE_VASPRINTF 1 -#cmakedefine HAVE_VSNPRINTF 1 #cmakedefine HAVE_FTRUNCATE 1 #cmakedefine HAVE_TZNAME 1 /* Symbols we may use */ diff --git a/configure.cmake b/configure.cmake index 1a0743bb7c4..9e4f8aaa62c 100644 --- a/configure.cmake +++ b/configure.cmake @@ -353,15 +353,12 @@ CHECK_FUNCTION_EXISTS (getrusage HAVE_GETRUSAGE) CHECK_FUNCTION_EXISTS (getwd HAVE_GETWD) CHECK_FUNCTION_EXISTS (gmtime_r HAVE_GMTIME_R) CHECK_FUNCTION_EXISTS (initgroups HAVE_INITGROUPS) -CHECK_FUNCTION_EXISTS (ldiv HAVE_LDIV) CHECK_FUNCTION_EXISTS (localtime_r HAVE_LOCALTIME_R) CHECK_FUNCTION_EXISTS (lstat HAVE_LSTAT) CHECK_FUNCTION_EXISTS (madvise HAVE_MADVISE) CHECK_FUNCTION_EXISTS (mallinfo HAVE_MALLINFO) CHECK_FUNCTION_EXISTS (mallinfo2 HAVE_MALLINFO2) CHECK_FUNCTION_EXISTS (malloc_zone_statistics HAVE_MALLOC_ZONE) -CHECK_FUNCTION_EXISTS (memcpy HAVE_MEMCPY) -CHECK_FUNCTION_EXISTS (memmove HAVE_MEMMOVE) CHECK_FUNCTION_EXISTS (mkstemp HAVE_MKSTEMP) CHECK_FUNCTION_EXISTS (mkostemp HAVE_MKOSTEMP) CHECK_FUNCTION_EXISTS (mlock HAVE_MLOCK) @@ -369,7 +366,6 @@ CHECK_FUNCTION_EXISTS (mlockall HAVE_MLOCKALL) CHECK_FUNCTION_EXISTS (mmap HAVE_MMAP) CHECK_FUNCTION_EXISTS (mmap64 HAVE_MMAP64) CHECK_FUNCTION_EXISTS (mprotect HAVE_MPROTECT) -CHECK_FUNCTION_EXISTS (perror HAVE_PERROR) CHECK_FUNCTION_EXISTS (poll HAVE_POLL) CHECK_FUNCTION_EXISTS (posix_fallocate HAVE_POSIX_FALLOCATE) CHECK_FUNCTION_EXISTS (pread HAVE_PREAD) @@ -387,11 +383,10 @@ CHECK_FUNCTION_EXISTS (pthread_yield_np HAVE_PTHREAD_YIELD_NP) CHECK_FUNCTION_EXISTS (putenv HAVE_PUTENV) CHECK_FUNCTION_EXISTS (readlink HAVE_READLINK) CHECK_FUNCTION_EXISTS (realpath HAVE_REALPATH) -CHECK_FUNCTION_EXISTS (rename HAVE_RENAME) + CHECK_FUNCTION_EXISTS (rwlock_init HAVE_RWLOCK_INIT) CHECK_FUNCTION_EXISTS (sched_yield HAVE_SCHED_YIELD) CHECK_FUNCTION_EXISTS (setenv HAVE_SETENV) -CHECK_FUNCTION_EXISTS (setlocale HAVE_SETLOCALE) CHECK_FUNCTION_EXISTS (sigaction HAVE_SIGACTION) CHECK_FUNCTION_EXISTS (sigthreadmask HAVE_SIGTHREADMASK) CHECK_FUNCTION_EXISTS (sigwait HAVE_SIGWAIT) @@ -399,19 +394,12 @@ CHECK_FUNCTION_EXISTS (sigwaitinfo HAVE_SIGWAITINFO) CHECK_FUNCTION_EXISTS (sigset HAVE_SIGSET) CHECK_FUNCTION_EXISTS (sleep HAVE_SLEEP) CHECK_FUNCTION_EXISTS (stpcpy HAVE_STPCPY) -CHECK_FUNCTION_EXISTS (strcoll HAVE_STRCOLL) -CHECK_FUNCTION_EXISTS (strerror HAVE_STRERROR) CHECK_FUNCTION_EXISTS (strnlen HAVE_STRNLEN) -CHECK_FUNCTION_EXISTS (strpbrk HAVE_STRPBRK) CHECK_FUNCTION_EXISTS (strtok_r HAVE_STRTOK_R) -CHECK_FUNCTION_EXISTS (strtoll HAVE_STRTOLL) -CHECK_FUNCTION_EXISTS (strtoul HAVE_STRTOUL) -CHECK_FUNCTION_EXISTS (strtoull HAVE_STRTOULL) CHECK_FUNCTION_EXISTS (strcasecmp HAVE_STRCASECMP) CHECK_FUNCTION_EXISTS (tell HAVE_TELL) CHECK_FUNCTION_EXISTS (thr_yield HAVE_THR_YIELD) CHECK_FUNCTION_EXISTS (vasprintf HAVE_VASPRINTF) -CHECK_FUNCTION_EXISTS (vsnprintf HAVE_VSNPRINTF) CHECK_FUNCTION_EXISTS (nl_langinfo HAVE_NL_LANGINFO) IF(NOT HAVE_PTHREAD_RWLOCK_RDLOCK AND NOT HAVE_RWLOCK_INIT AND NOT WIN32) @@ -450,7 +438,7 @@ CHECK_FUNCTION_EXISTS(read_real_time HAVE_READ_REAL_TIME) CHECK_FUNCTION_EXISTS(ftime HAVE_FTIME) # This is still a normal call for milliseconds. -CHECK_FUNCTION_EXISTS(time HAVE_TIME) + # We can use time() on Macintosh if there is no ftime(). diff --git a/dbug/dbug.c b/dbug/dbug.c index 857de55b713..4dd4f6eda83 100644 --- a/dbug/dbug.c +++ b/dbug/dbug.c @@ -140,19 +140,6 @@ #define BOOLEAN my_bool -/* - * Externally supplied functions. - */ - -#ifndef HAVE_PERROR -static void perror(char *s) -{ - if (s && *s != '\0') - (void) fprintf(stderr, "%s: ", s); - (void) fprintf(stderr, "\n"); -} -#endif - /* * The user may specify a list of functions to trace or * debug. These lists are kept in a linear linked list, diff --git a/extra/readline/CMakeLists.txt b/extra/readline/CMakeLists.txt index 9a02d9b8247..80b3e1ff3f2 100644 --- a/extra/readline/CMakeLists.txt +++ b/extra/readline/CMakeLists.txt @@ -15,7 +15,8 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}) -ADD_DEFINITIONS(-DHAVE_CONFIG_H -DNO_KILL_INTR) +ADD_DEFINITIONS(-DHAVE_CONFIG_H -DNO_KILL_INTR + -DHAVE_VSNPRINTF -DHAVE_SETLOCALE -DHAVE_STRCOLL -DHAVE_STRPBRK) INCLUDE_DIRECTORIES(${CURSES_INCLUDE_PATH}) diff --git a/include/m_string.h b/include/m_string.h index 04b1a70ad40..f6cc4647f7e 100644 --- a/include/m_string.h +++ b/include/m_string.h @@ -40,13 +40,7 @@ #include #endif -#if !defined(HAVE_MEMCPY) && !defined(HAVE_MEMMOVE) -# define memcpy(d, s, n) bcopy ((s), (d), (n)) -# define memset(A,C,B) bfill((A),(B),(C)) -# define memmove(d, s, n) bmove ((d), (s), (n)) -#elif defined(HAVE_MEMMOVE) # define bmove(d, s, n) memmove((d), (s), (n)) -#endif /* Unixware 7 */ #if !defined(HAVE_BFILL) @@ -154,10 +148,6 @@ size_t my_gcvt(double x, my_gcvt_arg_type type, int width, char *to, extern char *llstr(longlong value,char *buff); extern char *ullstr(longlong value,char *buff); -#ifndef HAVE_STRTOUL -extern long strtol(const char *str, char **ptr, int base); -extern ulong strtoul(const char *str, char **ptr, int base); -#endif extern char *int2str(long val, char *dst, int radix, int upcase); extern char *int10_to_str(long val,char *dst,int radix); @@ -170,17 +160,11 @@ longlong my_strtoll10(const char *nptr, char **endptr, int *error); #undef strtoll #define strtoll(A,B,C) strtol((A),(B),(C)) #define strtoull(A,B,C) strtoul((A),(B),(C)) -#ifndef HAVE_STRTOULL -#define HAVE_STRTOULL -#endif -#ifndef HAVE_STRTOLL -#define HAVE_STRTOLL -#endif #else #ifdef HAVE_LONG_LONG extern char *ll2str(longlong val,char *dst,int radix, int upcase); extern char *longlong10_to_str(longlong val,char *dst,int radix); -#if (!defined(HAVE_STRTOULL) || defined(NO_STRTOLL_PROTO)) +#if defined(NO_STRTOLL_PROTO) extern longlong strtoll(const char *str, char **ptr, int base); extern ulonglong strtoull(const char *str, char **ptr, int base); #endif diff --git a/mysys/charset.c b/mysys/charset.c index da522f257bf..44aac566672 100644 --- a/mysys/charset.c +++ b/mysys/charset.c @@ -1521,7 +1521,7 @@ const char* my_default_csname() } snprintf(cpbuf, sizeof(cpbuf), "cp%d", (int)cp); csname = my_os_charset_to_mysql_charset(cpbuf); -#elif defined(HAVE_SETLOCALE) && defined(HAVE_NL_LANGINFO) +#elif defined(HAVE_NL_LANGINFO) if (setlocale(LC_CTYPE, "") && (csname = nl_langinfo(CODESET))) csname = my_os_charset_to_mysql_charset(csname); #endif diff --git a/mysys/my_rdtsc.c b/mysys/my_rdtsc.c index c0a4e9518d5..c8ee0a12402 100644 --- a/mysys/my_rdtsc.c +++ b/mysys/my_rdtsc.c @@ -200,15 +200,13 @@ ulonglong my_timer_milliseconds(void) struct timeb ft; ftime(&ft); return (ulonglong)ft.time * 1000 + (ulonglong)ft.millitm; -#elif defined(HAVE_TIME) - return (ulonglong) time(NULL) * 1000; #elif defined(_WIN32) FILETIME ft; GetSystemTimeAsFileTime( &ft ); return ((ulonglong)ft.dwLowDateTime + (((ulonglong)ft.dwHighDateTime) << 32))/10000; #else - return 0; + return (ulonglong) time(NULL) * 1000; #endif } @@ -435,10 +433,8 @@ void my_timer_init(MY_TIMER_INFO *mti) mti->milliseconds.routine= MY_TIMER_ROUTINE_FTIME; #elif defined(_WIN32) mti->milliseconds.routine= MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME; -#elif defined(HAVE_TIME) - mti->milliseconds.routine= MY_TIMER_ROUTINE_TIME; #else - mti->milliseconds.routine= 0; + mti->milliseconds.routine= MY_TIMER_ROUTINE_TIME; #endif if (!mti->milliseconds.routine || !my_timer_milliseconds()) { diff --git a/mysys/my_rename.c b/mysys/my_rename.c index cc3ed727168..ad798fa5219 100644 --- a/mysys/my_rename.c +++ b/mysys/my_rename.c @@ -71,11 +71,8 @@ int my_rename(const char *from, const char *to, myf MyFlags) if (!win_rename_with_retries(from, to)) { my_osmaperr(GetLastError()); -#elif defined(HAVE_RENAME) - if (rename(from,to)) - { #else - if (link(from, to) || unlink(from)) + if (rename(from,to)) { #endif if (errno == ENOENT && !access(from, F_OK)) diff --git a/plugin/cracklib_password_check/CMakeLists.txt b/plugin/cracklib_password_check/CMakeLists.txt index 263495838aa..0078163cce8 100644 --- a/plugin/cracklib_password_check/CMakeLists.txt +++ b/plugin/cracklib_password_check/CMakeLists.txt @@ -16,7 +16,7 @@ CHECK_LIBRARY_EXISTS(crack FascistCheckUser "" HAVE_LIBCRACK) SET(CMAKE_REQUIRED_DEFINITIONS -Dsize_t=int) # debian hack, debian bug. CHECK_INCLUDE_FILES (crack.h HAVE_CRACK_H) -IF (HAVE_ALLOCA_H AND HAVE_CRACK_H AND HAVE_LIBCRACK AND HAVE_MEMCPY) +IF (HAVE_ALLOCA_H AND HAVE_CRACK_H AND HAVE_LIBCRACK) MYSQL_ADD_PLUGIN(cracklib_password_check cracklib_password_check.c LINK_LIBRARIES crack MODULE_ONLY COMPONENT cracklib-password-check) diff --git a/sql/log.cc b/sql/log.cc index 45160bc8cdd..f0684d37a3d 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -11779,10 +11779,8 @@ void sql_perror(const char *message) { sql_print_error("%s", message); } -#elif defined(HAVE_STRERROR) +#else sql_print_error("%s: %s",message, strerror(errno)); -#else - perror(message); #endif } diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 22ed876d63e..5ffff2cb128 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -228,7 +228,7 @@ inline void setup_fpu() #endif #ifdef HAVE_FESETROUND - /* Set FPU rounding mode to "round-to-nearest" */ + /* Set FPU rounding mode to "round-to-nearest" */ fesetround(FE_TONEAREST); #endif /* HAVE_FESETROUND */ diff --git a/strings/int2str.c b/strings/int2str.c index 7fc608172fd..bdeda1638b8 100644 --- a/strings/int2str.c +++ b/strings/int2str.c @@ -110,7 +110,6 @@ int2str(register long int val, register char *dst, register int radix, new_val= uval / (ulong) radix; *--p = dig_vec[(uchar) (uval- (ulong) new_val*(ulong) radix)]; val = new_val; -#ifdef HAVE_LDIV while (val != 0) { ldiv_t res; @@ -118,14 +117,6 @@ int2str(register long int val, register char *dst, register int radix, *--p = dig_vec[res.rem]; val= res.quot; } -#else - while (val != 0) - { - new_val=val/radix; - *--p = dig_vec[(uchar) (val-new_val*radix)]; - val= new_val; - } -#endif while ((*dst++ = *p++) != 0) ; return dst-1; } diff --git a/zlib/CMakeLists.txt b/zlib/CMakeLists.txt index ee79bc0bd5f..724a62537c1 100644 --- a/zlib/CMakeLists.txt +++ b/zlib/CMakeLists.txt @@ -106,5 +106,6 @@ set(ZLIB_SRCS ADD_CONVENIENCE_LIBRARY(zlib STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) +TARGET_COMPILE_DEFINITIONS(zlib PRIVATE HAVE_MEMCPY HAVE_VSNPRINTF) RESTRICT_SYMBOL_EXPORTS(zlib)