cvs: php4 /ext/pgsql config.m4 pgsql.c php_pgsql.h

From: 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);

« previous php.cvs (#584) next »