keymanapp / keyman

Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
https://keyman.com/
Other
379 stars 106 forks source link

chore(core): sprintf deprecated in xcode 14 #8514

Open mcdurdin opened 1 year ago

mcdurdin commented 1 year ago

Arising from xcode upgrade to 14.2, on stable-16.0:

Per build log:

16:40:00   c++ -Isrc/libkmnkbp0.0.dylib.p -Isrc -I../../../src -fcolor-diagnostics -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Werror -std=c++14 -O3 -isystem../../../../common/include -isystem../../../include -isysteminclude -DKMN_KBP -DKMN_KBP_EXPORTING -Wctor-dtor-privacy -Wdouble-promotion -Wendif-labels -Wno-unknown-pragmas -Wno-missing-field-initializers -Wnon-virtual-dtor -Wshadow -Wimplicit-fallthrough -Wno-double-promotion -Wshorten-64-to-32 -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -fvisibility=hidden -fvisibility-inlines-hidden -MD -MQ src/libkmnkbp0.0.dylib.p/kmx_kmx_debug.cpp.o -MF src/libkmnkbp0.0.dylib.p/kmx_kmx_debug.cpp.o.d -o src/libkmnkbp0.0.dylib.p/kmx_kmx_debug.cpp.o -c ../../../src/kmx/kmx_debug.cpp
16:40:00   ../../../src/kmx/kmx_debug.cpp:61:3: error: 'sprintf' is deprecated: This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Werror,-Wdeprecated-declarations]
16:40:00     sprintf(windowinfo,
16:40:00     ^
16:40:00   /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here
16:40:00   __deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
16:40:00   ^
16:40:00   /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro '__deprecated_msg'
16:40:00           #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
16:40:00                                                         ^
16:40:00   ../../../src/kmx/kmx_debug.cpp:111:5: error: 'sprintf' is deprecated: This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Werror,-Wdeprecated-declarations]
16:40:00       sprintf(buf, "['%s' 0x%x]", s_key_names[vk], vk);
16:40:00       ^
16:40:00   /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here
16:40:00   __deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
16:40:00   ^
16:40:00   /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro '__deprecated_msg'
16:40:00           #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
16:40:00                                                         ^
srl295 commented 1 year ago

this is also biting me in trying to build kmcmplib