summaryrefslogtreecommitdiff
path: root/locale/duplocale.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-11-17 09:37:31 -0800
committerUlrich Drepper <drepper@redhat.com>2009-11-17 09:37:31 -0800
commit7443244740724babd575943ee33c45da326afbe7 (patch)
tree064d372e9b95c2ab3df5a7786e658cf3303f1ca7 /locale/duplocale.c
parent4fb9241e4edbe238de8ba251f4448e31e8b1baf4 (diff)
Handle LC_GLOBAL_LOCALE in duplocale.
Diffstat (limited to 'locale/duplocale.c')
-rw-r--r--locale/duplocale.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/locale/duplocale.c b/locale/duplocale.c
index 61782590d7..63513c539c 100644
--- a/locale/duplocale.c
+++ b/locale/duplocale.c
@@ -1,5 +1,5 @@
/* Duplicate handle for selection of locales.
- Copyright (C) 1997,2000,2001,2002,2005,2008 Free Software Foundation, Inc.
+ Copyright (C) 1997,2000-2002,2005,2008,2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -37,6 +37,10 @@ __duplocale (__locale_t dataset)
if (dataset == _nl_C_locobj_ptr)
return dataset;
+ /* Handle a special value. */
+ if (dataset == LC_GLOBAL_LOCALE)
+ dataset = &_nl_global_locale;
+
__locale_t result;
int cnt;
size_t names_len = 0;