diff options
author | Ilia Alshanetsky <iliaa@php.net> | 2003-02-16 15:56:57 +0000 |
---|---|---|
committer | Ilia Alshanetsky <iliaa@php.net> | 2003-02-16 15:56:57 +0000 |
commit | ad1972fae99f1e7c33b1c3185daeb2ed1fd673d8 (patch) | |
tree | 61499a2a6e59792ca167093b824da9e414c4540a | |
parent | 2ac79528c92b3c7cc9722edc3e5f4fcf093a0066 (diff) | |
download | php-git-ad1972fae99f1e7c33b1c3185daeb2ed1fd673d8.tar.gz |
Moved longlong conversion to a macro.
-rw-r--r-- | ext/mysqli/mysqli_api.c | 31 | ||||
-rw-r--r-- | ext/mysqli/php_mysqli.h | 11 |
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 |