File tree 1 file changed +12
-4
lines changed
1 file changed +12
-4
lines changed Original file line number Diff line number Diff line change 23
23
* Portions Copyright (c) 1994, Regents of the University of California
24
24
*
25
25
* IDENTIFICATION
26
- * $PostgreSQL: pgsql/src/interfaces/libpq/fe-misc.c,v 1.114 2005/06/12 00:00:21 neilc Exp $
26
+ * $PostgreSQL: pgsql/src/interfaces/libpq/fe-misc.c,v 1.115 2005/07/06 16:25:59 tgl Exp $
27
27
*
28
28
*-------------------------------------------------------------------------
29
29
*/
@@ -1128,13 +1128,21 @@ PQenv2encoding(void)
1128
1128
char *
1129
1129
libpq_gettext (const char * msgid )
1130
1130
{
1131
- static int already_bound = 0 ;
1131
+ static bool already_bound = false ;
1132
1132
1133
1133
if (!already_bound )
1134
1134
{
1135
- already_bound = 1 ;
1135
+ /* dgettext() preserves errno, but bindtextdomain() doesn't */
1136
+ int save_errno = errno ;
1137
+ const char * ldir ;
1138
+
1139
+ already_bound = true;
1136
1140
/* No relocatable lookup here because the binary could be anywhere */
1137
- bindtextdomain ("libpq" , getenv ("PGLOCALEDIR" ) ? getenv ("PGLOCALEDIR" ) : LOCALEDIR );
1141
+ ldir = getenv ("PGLOCALEDIR" );
1142
+ if (!ldir )
1143
+ ldir = LOCALEDIR ;
1144
+ bindtextdomain ("libpq" , ldir );
1145
+ errno = save_errno ;
1138
1146
}
1139
1147
1140
1148
return dgettext ("libpq" , msgid );
You can’t perform that action at this time.
0 commit comments