]> granicus.if.org Git - php/commitdiff
Clean up pg_escape_*()
authorYasuo Ohgaki <yohgaki@php.net>
Thu, 4 Apr 2002 13:54:51 +0000 (13:54 +0000)
committerYasuo Ohgaki <yohgaki@php.net>
Thu, 4 Apr 2002 13:54:51 +0000 (13:54 +0000)
ext/pgsql/pgsql.c

index 934e0413b70a86ed2eb6c4e622fa4fcaeb1bf208..269a5609960744118c3fa3f74b74e40219ec0ce8 100644 (file)
@@ -2391,19 +2391,15 @@ PHP_FUNCTION(pg_copy_from)
 PHP_FUNCTION(pg_escape_string)
 {
        char *from = NULL, *to = NULL;
-       int len;
+       size_t from_len, to_len;
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
-                                                         &from, &len) == FAILURE) {
+                                                         &from, &from_len) == FAILURE) {
                return;
        }
 
-       to = (char *)emalloc(len*2+1);
-       len = (int)PQescapeString(to, from, strlen(from));
-       if (len < 0) {
-               efree(to);
-               RETURN_FALSE;
-       }
-       RETURN_STRINGL(to, len, 0);
+       to = (char *)emalloc(from_len*2+1);
+       to_len = (int)PQescapeString(to, from, from_len);
+       RETURN_STRINGL(to, to_len, 0);
 }
 /* }}} */
 
@@ -2412,18 +2408,14 @@ PHP_FUNCTION(pg_escape_string)
 PHP_FUNCTION(pg_escape_bytea)
 {
        char *from = NULL, *to = NULL;
-       int len;
+       size_t from_len, to_len;
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
-                                                         &from, &len) == FAILURE) {
+                                                         &from, &from_len) == FAILURE) {
                return;
        }
 
-       to = (char *)PQescapeBytea((unsigned char*)from, strlen(from), (size_t *)&len);
-       if (len < 0) {
-               /* Don't need to free "to" here*/
-               RETURN_FALSE;
-       }
-       RETURN_STRINGL(to, len, 1);
+       to = (char *)PQescapeBytea((unsigned char*)from, from_len, &to_len);
+       RETVAL_STRINGL(to, to_len-1, 1); /* to_len includes addtional '\0' */
        free(to);
 }
 /* }}} */