Provide strdup() compat
Make strdup() available on all platforms.
This commit is contained in:
parent
ace438e52a
commit
c0dde0fade
3 changed files with 30 additions and 0 deletions
|
@ -2,6 +2,7 @@ src = [
|
|||
'src/main.c',
|
||||
'src/adb.c',
|
||||
'src/cli.c',
|
||||
'src/compat.c',
|
||||
'src/control_msg.c',
|
||||
'src/controller.c',
|
||||
'src/decoder.c',
|
||||
|
@ -31,6 +32,10 @@ else
|
|||
src += [ 'src/sys/unix/process.c' ]
|
||||
endif
|
||||
|
||||
check_functions = [
|
||||
'strdup'
|
||||
]
|
||||
|
||||
cc = meson.get_compiler('c')
|
||||
|
||||
if not get_option('crossbuild_windows')
|
||||
|
@ -86,6 +91,13 @@ endif
|
|||
|
||||
conf = configuration_data()
|
||||
|
||||
foreach f : check_functions
|
||||
if cc.has_function(f)
|
||||
define = 'HAVE_' + f.underscorify().to_upper()
|
||||
conf.set(define, true)
|
||||
endif
|
||||
endforeach
|
||||
|
||||
# expose the build type
|
||||
conf.set('NDEBUG', get_option('buildtype') != 'debug')
|
||||
|
||||
|
|
14
app/src/compat.c
Normal file
14
app/src/compat.c
Normal file
|
@ -0,0 +1,14 @@
|
|||
#include "compat.h"
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#ifndef HAVE_STRDUP
|
||||
char *strdup(const char *s) {
|
||||
size_t size = strlen(s) + 1;
|
||||
char *dup = malloc(size);
|
||||
if (dup) {
|
||||
memcpy(dup, s, size);
|
||||
}
|
||||
return dup;
|
||||
}
|
||||
#endif
|
|
@ -56,4 +56,8 @@
|
|||
# define SCRCPY_SDL_HAS_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_STRDUP
|
||||
char *strdup(const char *s);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue