OSDN Git Service

Repair unintentional damage to MULTIBYTE code.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 14 Mar 2000 23:59:23 +0000 (23:59 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 14 Mar 2000 23:59:23 +0000 (23:59 +0000)
src/interfaces/libpq/fe-exec.c
src/interfaces/libpq/fe-print.c
src/interfaces/libpq/libpq-int.h

index 5d614eb..6b39991 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.92 2000/03/11 03:08:36 tgl Exp $
+ *       $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.93 2000/03/14 23:59:23 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -153,8 +153,11 @@ PQmakeEmptyPGresult(PGconn *conn, ExecStatusType status)
 
        if (conn)
        {
+               /* copy connection data we might need for operations on PGresult */
                result->noticeHook = conn->noticeHook;
                result->noticeArg = conn->noticeArg;
+               result->client_encoding = conn->client_encoding;
+
                /* consider copying conn's errorMessage */
                switch (status)
                {
@@ -172,8 +175,10 @@ PQmakeEmptyPGresult(PGconn *conn, ExecStatusType status)
        }
        else
        {
+               /* defaults... */
                result->noticeHook = NULL;
                result->noticeArg = NULL;
+               result->client_encoding = 0; /* should be SQL_ASCII */
        }
 
        return result;
index 3b9102d..840f47e 100644 (file)
@@ -10,7 +10,7 @@
  * didn't really belong there.
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-print.c,v 1.35 2000/02/07 23:10:11 petere Exp $
+ *       $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-print.c,v 1.36 2000/03/14 23:59:23 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -347,7 +347,7 @@ do_field(const PQprintOpt *po, const PGresult *res,
                        char            ch = '0';
 
 #ifdef MULTIBYTE
-                       for (p = pval; *p; p += PQmblen(p, PQclientEncoding(res->conn)))
+                       for (p = pval; *p; p += PQmblen(p, res->client_encoding))
 #else
                        for (p = pval; *p; p++)
 #endif
index 92bd9cf..bb0fb8a 100644 (file)
@@ -12,7 +12,7 @@
  * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: libpq-int.h,v 1.20 2000/03/11 03:08:37 tgl Exp $
+ * $Id: libpq-int.h,v 1.21 2000/03/14 23:59:23 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -130,11 +130,14 @@ struct pg_result
         */
        PGconn     *xconn;                      /* connection we did the query on, if any */
 
-       /* Callback procedure for notice/error message processing
-        * (copied from originating PGconn).
+       /*
+        * These fields are copied from the originating PGconn, so that
+        * operations on the PGresult don't have to reference the PGconn.
         */
-       PQnoticeProcessor noticeHook;
+       PQnoticeProcessor noticeHook; /* notice/error message processor */
        void       *noticeArg;
+       int                     client_encoding; /* encoding id */
+
 
        char       *errMsg;                     /* error message, or NULL if no error */