X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Flocale%2Fduplocale.c;h=030b64cb0e706cdf29c7104526e86b6ee08d7adb;hb=4554f155dd23a65fcdfd39f1d5af8af55ba37694;hp=b87c933e4d27f30aac5169d4a682871ddeb9565e;hpb=873e0ec7fc4d466cfcdec16a7648cc18609ba702;p=musl diff --git a/src/locale/duplocale.c b/src/locale/duplocale.c index b87c933e..030b64cb 100644 --- a/src/locale/duplocale.c +++ b/src/locale/duplocale.c @@ -5,17 +5,10 @@ locale_t __duplocale(locale_t old) { - locale_t new = calloc(1, sizeof *new + LOCALE_NAME_MAX + 1); + locale_t new = malloc(sizeof *new); if (!new) return 0; - new->messages_name = (void *)(new+1); - if (old == LC_GLOBAL_LOCALE) old = &libc.global_locale; - new->ctype_utf8 = old->ctype_utf8; - if (old->messages_name) - strcpy(new->messages_name, old->messages_name); - - for (size_t i=0; icat/sizeof new->cat[0]; i++) - new->cat[i] = old->cat[i]; + *new = *old; return new; }