2002-09-19 Bruno Haible <bruno@clisp.org>
authorroland <roland>
Fri, 20 Sep 2002 23:25:15 +0000 (23:25 +0000)
committerroland <roland>
Fri, 20 Sep 2002 23:25:15 +0000 (23:25 +0000)
* intl/dcigettext.c (DCIGETTEXT): Restore errno only right before
returning.

intl/dcigettext.c

index 81bfdce..42d39a1 100644 (file)
@@ -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);