summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2003-02-16 15:56:57 +0000
committerIlia Alshanetsky <iliaa@php.net>2003-02-16 15:56:57 +0000
commitad1972fae99f1e7c33b1c3185daeb2ed1fd673d8 (patch)
tree61499a2a6e59792ca167093b824da9e414c4540a
parent2ac79528c92b3c7cc9722edc3e5f4fcf093a0066 (diff)
downloadphp-git-ad1972fae99f1e7c33b1c3185daeb2ed1fd673d8.tar.gz
Moved longlong conversion to a macro.
-rw-r--r--ext/mysqli/mysqli_api.c31
-rw-r--r--ext/mysqli/php_mysqli.h11
2 files changed, 18 insertions, 24 deletions
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c
index 8d0c87408a..4dcc3d4f94 100644
--- a/ext/mysqli/mysqli_api.c
+++ b/ext/mysqli/mysqli_api.c
@@ -36,8 +36,7 @@ PHP_FUNCTION(mysqli_affected_rows)
{
MYSQL *mysql;
zval *mysql_link;
- my_ulonglong rc;
- char ret[40];
+ my_ulonglong rc;
if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) {
return;
@@ -46,11 +45,7 @@ PHP_FUNCTION(mysqli_affected_rows)
MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link");
rc = mysql_affected_rows(mysql);
- if (rc != (long)rc) {
- sprintf((char *)&ret, "%llu", rc);
- RETURN_STRING(ret,1);
- }
- RETURN_LONG(rc);
+ MYSQLI_RETURN_LONG_LONG(rc);
}
/* }}} */
@@ -648,7 +643,7 @@ PHP_FUNCTION(mysqli_fetch)
my_ulonglong lval;
memcpy (&lval, stmt->bind[i].buffer, sizeof(my_ulonglong));
if (lval != (long)lval) {
- sprintf((char *)&tmp, "%lld", lval);
+ sprintf((char *)&tmp, "%llu", lval);
ZVAL_STRING(stmt->vars[i], tmp, 1);
} else {
ZVAL_LONG(stmt->vars[i], lval);
@@ -1000,8 +995,7 @@ PHP_FUNCTION(mysqli_init)
PHP_FUNCTION(mysqli_insert_id)
{
MYSQL *mysql;
- my_ulonglong rc;
- char ret[50];
+ my_ulonglong rc;
zval *mysql_link;
if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) {
@@ -1009,12 +1003,7 @@ PHP_FUNCTION(mysqli_insert_id)
}
MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link");
rc = mysql_insert_id(mysql);
-
- if (rc != (long)rc) {
- sprintf((char *)&ret, "%llu", rc);
- RETURN_STRING(ret,1);
- }
- RETURN_LONG(rc);
+ MYSQLI_RETURN_LONG_LONG(rc)
}
/* }}} */
@@ -1503,8 +1492,7 @@ PHP_FUNCTION(mysqli_stmt_affected_rows)
{
STMT *stmt;
zval *mysql_stmt;
- my_ulonglong rc;
- char ret[50];
+ my_ulonglong rc;
if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {
return;
@@ -1512,12 +1500,7 @@ PHP_FUNCTION(mysqli_stmt_affected_rows)
MYSQLI_FETCH_RESOURCE(stmt, STMT *, &mysql_stmt, "mysqli_stmt");
rc = mysql_stmt_affected_rows(stmt->stmt);
- if (rc != (long)rc) {
- sprintf((char *)&ret, "%llu", rc);
- RETURN_STRING(ret, 1);
- }
-
- RETURN_LONG(rc);
+ MYSQLI_RETURN_LONG_LONG(rc)
}
/* }}} */
diff --git a/ext/mysqli/php_mysqli.h b/ext/mysqli/php_mysqli.h
index bc83ec803a..38546ede26 100644
--- a/ext/mysqli/php_mysqli.h
+++ b/ext/mysqli/php_mysqli.h
@@ -121,6 +121,17 @@ PHP_MYSQLI_EXPORT(zend_object_value) mysqli_objects_new(zend_class_entry * TSRML
intern->ptr = NULL; \
}
+#define MYSQLI_RETURN_LONG_LONG(__val) \
+{ \
+ if ((__val) < LONG_MAX) { \
+ RETURN_LONG((__val)); \
+ } else { \
+ char ret[40]; \
+ sprintf(ret, "%llu", (__val)); \
+ RETURN_STRING(ret,1); \
+ } \
+}
+
#define MYSQLI_STORE_RESULT 0
#define MYSQLI_USE_RESULT 1