1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#include <stdlib.h> #include <string.h> #include "locale_impl.h" #include "libc.h" locale_t __duplocale(locale_t old) { locale_t new = malloc(sizeof *new); if (!new) return 0; if (old == LC_GLOBAL_LOCALE) old = &libc.global_locale; *new = *old; return new; } weak_alias(__duplocale, duplocale);