diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-07-08 15:25:36 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-07-08 15:25:36 +0000 |
commit | d53f22de868bf5dc9eb2d7e3750e3b484b0645e0 (patch) | |
tree | c0337f3db00c582c4025737eb5e12599a74155e9 | |
parent | 577759f8bf53cfaf7e24ee217933df2c882bedbf (diff) | |
download | postgresql-d53f22de868bf5dc9eb2d7e3750e3b484b0645e0.tar.gz |
Make libpq_gettext save and restore errno in a Windows-compatible way.
Also, back-patch fix into back branches.
-rw-r--r-- | src/interfaces/libpq/fe-misc.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/interfaces/libpq/fe-misc.c b/src/interfaces/libpq/fe-misc.c index 5008d5bf63..e6dcbd24dc 100644 --- a/src/interfaces/libpq/fe-misc.c +++ b/src/interfaces/libpq/fe-misc.c @@ -25,7 +25,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-misc.c,v 1.85.2.1 2003/08/04 17:25:28 tgl Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-misc.c,v 1.85.2.2 2005/07/08 15:25:36 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -920,8 +920,16 @@ libpq_gettext(const char *msgid) if (!already_bound) { + /* dgettext() preserves errno, but bindtextdomain() doesn't */ + int save_errno = errno; + already_bound = 1; bindtextdomain("libpq", LOCALEDIR); +#ifdef WIN32 + SetLastError(save_errno); +#else + errno = save_errno; +#endif } return dgettext("libpq", msgid); |