diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | intl/dcigettext.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 98cfd3138c..0678bff373 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-09-19 Bruno Haible <bruno@clisp.org> + + * intl/dcigettext.c (DCIGETTEXT): Restore errno only right before + returning. + 2002-09-17 Bruno Haible <bruno@clisp.org> * sysdeps/generic/utmp-equal.h: New file, extracted from utmp_file.c. diff --git a/intl/dcigettext.c b/intl/dcigettext.c index 81bfdceb94..42d39a1771 100644 --- a/intl/dcigettext.c +++ b/intl/dcigettext.c @@ -597,7 +597,6 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category) /* Found the translation of MSGID1 in domain DOMAIN: starting at RETVAL, RETLEN bytes. */ FREE_BLOCKS (block_list); - __set_errno (saved_errno); #if defined HAVE_TSEARCH || defined _LIBC if (foundp == NULL) { @@ -636,6 +635,8 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category) (*foundp)->translation_length = retlen; } #endif + __set_errno (saved_errno); + /* Now deal with plural. */ if (plural) retval = plural_lookup (domain, n, retval, retlen); |