]> git.saurik.com Git - apple/libplatform.git/blobdiff - src/init.c
libplatform-177.200.16.tar.gz
[apple/libplatform.git] / src / init.c
index 7f43e476fa67f4475601c3943298e0aca28bbcfe..098d54f42c79ef0191af8d0d0fe3989421fa91d9 100644 (file)
 
 #include <TargetConditionals.h>
 #include <stdlib.h>
+#include <platform/string.h>
+#include <_libkernel_init.h>
 
 struct ProgramVars; /* forward reference */
 
 extern void _simple_asl_init(const char *envp[], const struct ProgramVars *vars);
 extern void __pfz_setup(const char *apple[]);
 
+#if !VARIANT_STATIC
+static const struct _libkernel_string_functions _platform_string_functions = {
+       .version = 1,
+       .bzero = _platform_bzero,
+       .memchr = _platform_memchr,
+       .memcmp = _platform_memcmp,
+       .memmove = _platform_memmove,
+       .memccpy = _platform_memccpy,
+       .memset = _platform_memset,
+       .strchr = _platform_strchr,
+       .strcmp = _platform_strcmp,
+       .strcpy = _platform_strcpy,
+       .strlcat = _platform_strlcat,
+       .strlcpy = _platform_strlcpy,
+       .strlen = _platform_strlen,
+       .strncmp = _platform_strncmp,
+       .strncpy = _platform_strncpy,
+       .strnlen = _platform_strnlen,
+       .strstr = _platform_strstr,
+};
+#endif
+
 void
 __libplatform_init(void *future_use __unused, const char *envp[],
                const char *apple[], const struct ProgramVars *vars)
 {
     /* In the Simulator, we just provide _simple for dyld */
-#if !TARGET_IPHONE_SIMULATOR
+#if !TARGET_OS_SIMULATOR
     __pfz_setup(apple);
 #endif
     _simple_asl_init(envp, vars);
+
+#if !VARIANT_STATIC
+    __libkernel_platform_init(&_platform_string_functions);
+#endif
 }