summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--intl/dcigettext.c3
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);