]> granicus.if.org Git - php/commitdiff
pg_client_encoding/pg_set_client_encoding should be compiled always.
authorYasuo Ohgaki <yohgaki@php.net>
Thu, 25 Apr 2002 01:42:23 +0000 (01:42 +0000)
committerYasuo Ohgaki <yohgaki@php.net>
Thu, 25 Apr 2002 01:42:23 +0000 (01:42 +0000)
Recent libpq has PQclientEncoding/PQsetClientEncoding regarless of
multibyte support enabled or not.

Reported by c@cornelia-boenigk.de

# This should be merged, but need a little more testing.

ext/pgsql/pgsql.c
ext/pgsql/php_pgsql.h

index 94b404cca17fac42757a62cc781e66eb8ff66c46..1ba7e2d727bde0b799e6a56594e27c2c0fe0206e 100644 (file)
@@ -137,10 +137,8 @@ function_entry pgsql_functions[] = {
        PHP_FE(pg_escape_string,NULL)
        PHP_FE(pg_escape_bytea, NULL)
 #endif
-#if HAVE_PQCLIENTENCODING
        PHP_FE(pg_client_encoding,              NULL)
        PHP_FE(pg_set_client_encoding,  NULL)
-#endif
        /* misc function */
        PHP_FE(pg_metadata,     NULL)
        PHP_FE(pg_convert,      NULL)
@@ -172,10 +170,8 @@ function_entry pgsql_functions[] = {
        PHP_FALIAS(pg_lowrite,       pg_lo_write,       NULL)
        PHP_FALIAS(pg_loimport,      pg_lo_import,      NULL)
        PHP_FALIAS(pg_loexport,      pg_lo_export,      NULL)
-#if HAVE_PQCLIENTENCODING
        PHP_FALIAS(pg_clientencoding,           pg_client_encoding,             NULL)
        PHP_FALIAS(pg_setclientencoding,        pg_set_client_encoding, NULL)
-#endif
        {NULL, NULL, NULL} 
 };
 /* }}} */
@@ -2133,7 +2129,6 @@ PHP_FUNCTION(pg_lo_tell)
 }
 /* }}} */
 
-#ifdef HAVE_PQCLIENTENCODING
 /* {{{ proto int pg_set_client_encoding([resource connection,] string encoding)
    Set client encoding */
 PHP_FUNCTION(pg_set_client_encoding)
@@ -2159,13 +2154,18 @@ PHP_FUNCTION(pg_set_client_encoding)
                        WRONG_PARAM_COUNT;
                        break;
        }
-       
+
+#ifdef HAVE_PQCLIENTENCODING
        ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link", le_link, le_plink);
 
        convert_to_string_ex(encoding);
        Z_LVAL_P(return_value) = PQsetClientEncoding(pgsql, Z_STRVAL_PP(encoding));
        Z_TYPE_P(return_value) = IS_LONG;
-
+#else
+       php_error(E_NOTICE, "%s() PHP is compiled with libpq without multibyte PQsetClientEncoding"
+                         get_active_function_name(TSRMLS_C));
+       RETURN_LONG(-1);
+#endif
 }
 /* }}} */
 
@@ -2192,6 +2192,7 @@ PHP_FUNCTION(pg_client_encoding)
                        break;
        }
 
+#ifdef HAVE_PQCLIENTENCODING
        ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link", le_link, le_plink);
 
        /* Just do the same as found in PostgreSQL sources... */
@@ -2205,9 +2206,13 @@ PHP_FUNCTION(pg_client_encoding)
        Z_STRLEN_P(return_value) = strlen(Z_STRVAL_P(return_value));
        Z_STRVAL_P(return_value) = (char *) estrdup(Z_STRVAL_P(return_value));
        Z_TYPE_P(return_value) = IS_STRING;
+#else
+       php_error(E_NOTICE, "%s() PHP is compiled with libpq without PQclientEncoding"
+                         get_active_function_name(TSRMLS_C));
+       RETURN_STRING("SQL_ASCII",1);
+#endif
 }
 /* }}} */
-#endif
 
 
 #define        COPYBUFSIZ      8192
index a1d547e6e8d695753512cd921689db0cca7027f2..d58fe09ad2e3d776acddf2ad94565d4c52f67bc5 100644 (file)
@@ -114,10 +114,8 @@ PHP_FUNCTION(pg_trace);
 PHP_FUNCTION(pg_untrace);
 
 /* utility functions */
-#if HAVE_PQCLIENTENCODING
 PHP_FUNCTION(pg_client_encoding);
 PHP_FUNCTION(pg_set_client_encoding);
-#endif
 #if HAVE_PQESCAPE
 PHP_FUNCTION(pg_escape_string);
 PHP_FUNCTION(pg_escape_bytea);