cvs: php4 /ext/pgsql config.m4 pgsql.c php_pgsql.h
| From: | Rui Hirokawa | Date: | Sun, 02 Jul 2000 08:59:44 +0000 |
| Subject: | cvs: php4 /ext/pgsql config.m4 pgsql.c php_pgsql.h | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-584@lists.php.net to get a copy of this message | ||
hirokawa Sun Jul 2 01:59:44 2000 EDT
Modified files:
/php4/ext/pgsql config.m4 pgsql.c php_pgsql.h
Log:
added new functions: pg_setclientencoding, pg_clientencoding in Postgres-7.0.
Index: php4/ext/pgsql/config.m4
diff -u php4/ext/pgsql/config.m4:1.12 php4/ext/pgsql/config.m4:1.13
--- php4/ext/pgsql/config.m4:1.12 Mon May 22 23:03:34 2000
+++ php4/ext/pgsql/config.m4 Sun Jul 2 01:59:44 2000
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.12 2000/05/23 06:03:34 jah Exp $
+dnl $Id: config.m4,v 1.13 2000/07/02 08:59:44 hirokawa Exp $
AC_DEFUN(PGSQL_INC_CHK,[if test -r $i$1/libpq-fe.h; then PGSQL_DIR=$i; PGSQL_INCDIR=$i$1])
@@ -30,6 +30,7 @@
LDFLAGS="$LDFLAGS -L$PGSQL_LIBDIR"
AC_CHECK_LIB(pq, PQcmdTuples,AC_DEFINE(HAVE_PQCMDTUPLES,1,[ ]))
AC_CHECK_LIB(pq, PQoidValue,AC_DEFINE(HAVE_PQOIDVALUE,1,[ ]))
+ AC_CHECK_LIB(pq, PQclientEncoding,AC_DEFINE(HAVE_PQCLIENTENCODING,1,[ ]))
LIBS="$old_LIBS"
LDFLAGS="$old_LDFLAGS"
Index: php4/ext/pgsql/pgsql.c
diff -u php4/ext/pgsql/pgsql.c:1.61 php4/ext/pgsql/pgsql.c:1.62
--- php4/ext/pgsql/pgsql.c:1.61 Tue Jun 27 06:26:04 2000
+++ php4/ext/pgsql/pgsql.c Sun Jul 2 01:59:44 2000
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: pgsql.c,v 1.61 2000/06/27 13:26:04 jah Exp $ */
+/* $Id: pgsql.c,v 1.62 2000/07/02 08:59:44 hirokawa Exp $ */
#include <stdlib.h>
@@ -74,6 +74,10 @@
PHP_FE(pg_loreadall, NULL)
PHP_FE(pg_loimport, NULL)
PHP_FE(pg_loexport, NULL)
+#if HAVE_PQCLIENTENCODING
+ PHP_FE(pg_clientencoding, NULL)
+ PHP_FE(pg_setclientencoding, NULL)
+#endif
{NULL, NULL, NULL}
};
@@ -1598,6 +1602,76 @@
}
/* }}} */
+#if HAVE_PQCLIENTENCODING
+
+/* {{{ proto int pg_setclientencoding([int connection,] string encoding)
+ Set client encoding */
+PHP_FUNCTION(pg_setclientencoding)
+{
+ zval **encoding, **pgsql_link;
+ int id = -1;
+ PGconn *pgsql;
+ PGLS_FETCH();
+
+ switch(ZEND_NUM_ARGS()) {
+ case 1:
+ if (zend_get_parameters_ex(1, &encoding)==FAILURE) {
+ RETURN_FALSE;
+ }
+ id = PGG(default_link);
+ break;
+ case 2:
+ if (zend_get_parameters_ex(2, &pgsql_link, &encoding)==FAILURE) {
+ RETURN_FALSE;
+ }
+ break;
+ default:
+ WRONG_PARAM_COUNT;
+ break;
+ }
+
+ ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link", le_link,
le_plink);
+
+ convert_to_string_ex(encoding);
+ return_value->value.lval = PQsetClientEncoding(pgsql, Z_STRVAL_PP(encoding));
+ return_value->type = IS_LONG;
+
+}
+/* }}} */
+
+/* {{{ proto string pg_clientencoding([int connection])
+ Get the current client encoding */
+PHP_FUNCTION(pg_clientencoding)
+{
+ zval **pgsql_link;
+ int id = -1;
+ PGconn *pgsql;
+ PGLS_FETCH();
+
+ switch(ZEND_NUM_ARGS()) {
+ case 0:
+ id = PGG(default_link);
+ break;
+ case 1:
+ if (zend_get_parameters_ex(1, &pgsql_link)==FAILURE) {
+ RETURN_FALSE;
+ }
+ break;
+ default:
+ WRONG_PARAM_COUNT;
+ break;
+ }
+
+ ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link", le_link,
le_plink);
+
+ return_value->value.str.val
+ = (char *) pg_encoding_to_char(PQclientEncoding(pgsql));
+ return_value->value.str.len = strlen(return_value->value.str.val);
+ return_value->value.str.val = (char *) estrdup(return_value->value.str.val);
+ return_value->type = IS_STRING;
+}
+/* }}} */
+#endif
#endif
Index: php4/ext/pgsql/php_pgsql.h
diff -u php4/ext/pgsql/php_pgsql.h:1.15 php4/ext/pgsql/php_pgsql.h:1.16
--- php4/ext/pgsql/php_pgsql.h:1.15 Sat Jun 10 01:47:57 2000
+++ php4/ext/pgsql/php_pgsql.h Sun Jul 2 01:59:44 2000
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_pgsql.h,v 1.15 2000/06/10 08:47:57 andi Exp $ */
+/* $Id: php_pgsql.h,v 1.16 2000/07/02 08:59:44 hirokawa Exp $ */
#ifndef _PHP_PGSQL_H
#define _PHP_PGSQL_H
@@ -85,6 +85,8 @@
PHP_FUNCTION(pg_loreadall);
PHP_FUNCTION(pg_loimport);
PHP_FUNCTION(pg_loexport);
+PHP_FUNCTION(pg_clientencoding);
+PHP_FUNCTION(pg_setclientencoding);
void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent);
int php_pgsql_get_default_link(INTERNAL_FUNCTION_PARAMETERS);