Index: fusl/src/locale/duplocale.c |
diff --git a/fusl/src/locale/duplocale.c b/fusl/src/locale/duplocale.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..030b64cb0e706cdf29c7104526e86b6ee08d7adb |
--- /dev/null |
+++ b/fusl/src/locale/duplocale.c |
@@ -0,0 +1,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); |