|
|
|
@ -5357,9 +5357,6 @@ static int php_pgsql_convert_match(const char *str, size_t str_len, const char * |
|
|
|
|
|
|
|
regerr = regexec(&re, str, re.re_nsub+1, subs, 0); |
|
|
|
if (regerr == REG_NOMATCH) { |
|
|
|
#ifdef PHP_DEBUG |
|
|
|
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "'%s' does not match with '%s'", str, regex); |
|
|
|
#endif |
|
|
|
ret = FAILURE; |
|
|
|
} |
|
|
|
else if (regerr) { |
|
|
|
@ -5607,14 +5604,16 @@ PHP_PGSQL_API int php_pgsql_convert(PGconn *pg_link, const char *table_name, con |
|
|
|
} |
|
|
|
else { |
|
|
|
/* FIXME: better regex must be used */ |
|
|
|
if (php_pgsql_convert_match(Z_STRVAL_PP(val), Z_STRLEN_PP(val), "^([+-]{0,1}[0-9]+)|([+-]{0,1}[0-9]*[\\.][0-9]+)|([+-]{0,1}[0-9]+[\\.][0-9]*)|([+-]{0,1}(inf)(inity){0,1})$", 1 TSRMLS_CC) == FAILURE) { |
|
|
|
err = 1; |
|
|
|
if (php_pgsql_convert_match(Z_STRVAL_PP(val), Z_STRLEN_PP(val), "^([+-]{0,1}[0-9]+)|([+-]{0,1}[0-9]*[\\.][0-9]+)|([+-]{0,1}[0-9]+[\\.][0-9]*)$", 0 TSRMLS_CC) == FAILURE) { |
|
|
|
if (php_pgsql_convert_match(Z_STRVAL_PP(val), Z_STRLEN_PP(val), "^[+-]{0,1}(inf)(inity){0,1}$", 1 TSRMLS_CC) == FAILURE) { |
|
|
|
err = 1; |
|
|
|
} else { |
|
|
|
ZVAL_STRING(new_val, Z_STRVAL_PP(val), 1); |
|
|
|
php_pgsql_add_quotes(new_val, 1 TSRMLS_CC); |
|
|
|
} |
|
|
|
} |
|
|
|
else { |
|
|
|
ZVAL_STRING(new_val, Z_STRVAL_PP(val), 1); |
|
|
|
if(strcasestr(Z_STRVAL_PP(val),"inf")!=0){ |
|
|
|
php_pgsql_add_quotes(new_val, 1 TSRMLS_CC); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
|