aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/libpq/fe-print.c
diff options
context:
space:
mode:
authorTatsuo Ishii <ishii@postgresql.org>2000-01-15 05:37:21 +0000
committerTatsuo Ishii <ishii@postgresql.org>2000-01-15 05:37:21 +0000
commit8fc386a2d830c94dbf990e97297cb9ae75fa4453 (patch)
treed71dc76bfff0a57e0f894cdb947927fb932e8e47 /src/interfaces/libpq/fe-print.c
parent6095e36ccabd122d6d2a662b8f568aa2b457d80d (diff)
downloadpostgresql-8fc386a2d830c94dbf990e97297cb9ae75fa4453.tar.gz
postgresql-8fc386a2d830c94dbf990e97297cb9ae75fa4453.zip
Eliminate using putenv().
Diffstat (limited to 'src/interfaces/libpq/fe-print.c')
-rw-r--r--src/interfaces/libpq/fe-print.c28
1 files changed, 20 insertions, 8 deletions
diff --git a/src/interfaces/libpq/fe-print.c b/src/interfaces/libpq/fe-print.c
index 522e1c57006..d6f952d32bd 100644
--- a/src/interfaces/libpq/fe-print.c
+++ b/src/interfaces/libpq/fe-print.c
@@ -9,7 +9,7 @@
* didn't really belong there.
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-print.c,v 1.28 1999/11/11 00:10:14 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-print.c,v 1.29 2000/01/15 05:37:21 ishii Exp $
*
*-------------------------------------------------------------------------
*/
@@ -498,27 +498,39 @@ PQprintTuples(const PGresult *res,
* the backend is assumed.
*/
int
-PQmblen(const unsigned char *s)
+PQmblen(const unsigned char *s, int encoding)
+{
+ return (pg_encoding_mblen(encoding, s));
+}
+
+/*
+ * Get encoding id from environment variable PGCLIENTENCODING.
+ */
+int
+PQenv2encoding(void)
{
char *str;
- int encoding = -1;
+ int encoding = SQL_ASCII;
str = getenv("PGCLIENTENCODING");
if (str && *str != '\0')
encoding = pg_char_to_encoding(str);
- if (encoding < 0)
- encoding = MULTIBYTE;
- return (pg_encoding_mblen(encoding, s));
+ return(encoding);
}
#else
/* Provide a default definition in case someone calls it anyway */
int
-PQmblen(const unsigned char *s)
+PQmblen(const unsigned char *s, int encoding)
{
return 1;
}
+int
+PQenv2encoding(void)
+{
+ return 0;
+}
#endif /* MULTIBYTE */
@@ -560,7 +572,7 @@ do_field(const PQprintOpt *po, const PGresult *res,
char ch = '0';
#ifdef MULTIBYTE
- for (p = pval; *p; p += PQmblen(p))
+ for (p = pval; *p; p += PQmblen(p, PQclientencoding(res->conn)))
#else
for (p = pval; *p; p++)
#endif