X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Flocale%2Fduplocale.c;h=030b64cb0e706cdf29c7104526e86b6ee08d7adb;hb=4554f155dd23a65fcdfd39f1d5af8af55ba37694;hp=133687071df766c9884e814d88b616b54b7b25c2;hpb=0bc03091bb674ebb9fa6fe69e4aec1da3ac484f2;p=musl diff --git a/src/locale/duplocale.c b/src/locale/duplocale.c index 13368707..030b64cb 100644 --- a/src/locale/duplocale.c +++ b/src/locale/duplocale.c @@ -5,16 +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); - - if (new && old != LC_GLOBAL_LOCALE) memcpy(new, old, sizeof *new); + *new = *old; return new; }