bradmssw Wed Jul 9 09:48:28 2003 EDT
Modified files: (Branch: PHP_4_3)
/php-src/ext/mcve mcve.c
Log:
bugfixes: typecasting issues. don't assume long and int are the same size, as they
are not on 64bit architectures. New CONSTANTS were not cast at all yet. MC_TTID was
cast as a long, when it should have been a MCVE_int64 (normally long long).
Index: php-src/ext/mcve/mcve.c
diff -u php-src/ext/mcve/mcve.c:1.14.2.3 php-src/ext/mcve/mcve.c:1.14.2.4
--- php-src/ext/mcve/mcve.c:1.14.2.3 Mon Jul 7 23:16:38 2003
+++ php-src/ext/mcve/mcve.c Wed Jul 9 09:48:28 2003
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: mcve.c,v 1.14.2.3 2003/07/08 03:16:38 bradmssw Exp $ */
+/* $Id: mcve.c,v 1.14.2.4 2003/07/09 13:48:28 bradmssw Exp $ */
/* standard php include(s) */
#include "php.h"
@@ -588,7 +588,6 @@
*/
PHP_FUNCTION(mcve_setssl_files)
{
- MCVE_CONN *conn;
int retval;
zval **arg1, **arg2;
@@ -841,29 +840,53 @@
convert_to_long_ex(arg2);
switch (key) {
- case MC_TRANTYPE:
- case MC_PTRANNUM:
+ /* Typecast to MCVE_int64 */
case MC_TTID:
+ convert_to_long_ex(arg4);
+ retval = MCVE_TransParam(conn, (long)Z_LVAL_PP(arg2), key,
(MCVE_int64)Z_LVAL_PP(arg4));
+ break;
+
+ /* Typecast to long */
+
+ case MC_PTRANNUM:
+ case MC_TIMESTAMP:
+ case MC_MARKER:
+ convert_to_long_ex(arg4);
+ retval = MCVE_TransParam(conn, (long)Z_LVAL_PP(arg2), key,
(long)Z_LVAL_PP(arg4));
+ break;
+
+ /* Typecast to int */
case MC_ADMIN:
+ case MC_SUB:
+ case MC_TRANTYPE:
case MC_AUDITTYPE:
+ case MC_EXCHARGES:
+ case MC_INQUIRY:
+ case MC_PRIORITY:
+ case MC_CARDTYPES:
+ case MC_ORIGTYPE:
+ case MC_VOIDORIGTYPE:
convert_to_long_ex(arg4);
- retval = MCVE_TransParam(conn, Z_LVAL_PP(arg2), key,
Z_LVAL_PP(arg4));
+ retval = MCVE_TransParam(conn, (long)Z_LVAL_PP(arg2), key,
(int)Z_LVAL_PP(arg4));
break;
+ /* Typecast to double */
case MC_AMOUNT:
+ case MC_EXAMOUNT:
+ case MC_RATE:
convert_to_double_ex(arg4);
- retval = MCVE_TransParam(conn, Z_LVAL_PP(arg2), key,
Z_DVAL_PP(arg4));
+ retval = MCVE_TransParam(conn, (long)Z_LVAL_PP(arg2), key,
(double)Z_DVAL_PP(arg4));
break;
case MC_CUSTOM:
convert_to_string_ex(arg4);
convert_to_string_ex(arg5);
- retval = MCVE_TransParam(conn, Z_LVAL_PP(arg2), key,
Z_STRVAL_PP(arg4), Z_STRVAL_PP(arg5));
+ retval = MCVE_TransParam(conn, (long)Z_LVAL_PP(arg2), key,
Z_STRVAL_PP(arg4), Z_STRVAL_PP(arg5));
break;
default:
convert_to_string_ex(arg4);
- retval = MCVE_TransParam(conn, Z_LVAL_PP(arg2), key,
Z_STRVAL_PP(arg4));
+ retval = MCVE_TransParam(conn, (long)Z_LVAL_PP(arg2), key,
Z_STRVAL_PP(arg4));
break;
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php