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/main.c',
|
||||||
'src/adb.c',
|
'src/adb.c',
|
||||||
'src/cli.c',
|
'src/cli.c',
|
||||||
|
'src/compat.c',
|
||||||
'src/control_msg.c',
|
'src/control_msg.c',
|
||||||
'src/controller.c',
|
'src/controller.c',
|
||||||
'src/decoder.c',
|
'src/decoder.c',
|
||||||
|
@ -31,6 +32,10 @@ else
|
||||||
src += [ 'src/sys/unix/process.c' ]
|
src += [ 'src/sys/unix/process.c' ]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
check_functions = [
|
||||||
|
'strdup'
|
||||||
|
]
|
||||||
|
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
if not get_option('crossbuild_windows')
|
if not get_option('crossbuild_windows')
|
||||||
|
@ -86,6 +91,13 @@ endif
|
||||||
|
|
||||||
conf = configuration_data()
|
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
|
# expose the build type
|
||||||
conf.set('NDEBUG', get_option('buildtype') != 'debug')
|
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
|
# define SCRCPY_SDL_HAS_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_STRDUP
|
||||||
|
char *strdup(const char *s);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue