about summary refs log tree commit diff
path: root/intl/dcigettext.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-09-20 23:25:36 +0000
committerRoland McGrath <roland@gnu.org>2002-09-20 23:25:36 +0000
commit7f4dce05c20b5461582a729ef64f26ecc93f365e (patch)
tree6b5f681eb8c62ae20ef883815cb01e84622b52e4 /intl/dcigettext.c
parent82c261269b2d8402958f7ee393d6c701b335ef7c (diff)
downloadglibc-7f4dce05c20b5461582a729ef64f26ecc93f365e.tar.gz
glibc-7f4dce05c20b5461582a729ef64f26ecc93f365e.tar.xz
glibc-7f4dce05c20b5461582a729ef64f26ecc93f365e.zip
* intl/dcigettext.c (DCIGETTEXT): Restore errno only right before
	returning.
Diffstat (limited to 'intl/dcigettext.c')
-rw-r--r--intl/dcigettext.c3
1 files changed, 2 insertions, 1 deletions
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);