cvs: ZendEngine2 / zend_ini.c zend_operators.c zend_operators.h

[email protected] ("Antony Dovgal")
Newsgroups php.zend-engine.cvs
Message-ID <cvstony20011205930421@cvsserver>
tony2001		Wed Mar 19 12:40:21 2008 UTC

  Modified files:              
    /ZendEngine2	zend_operators.c zend_operators.h zend_ini.c 
  Log:
  add zend_atol() and use it instead of zend_atoi() where applicable
  
  
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_operators.c?r1=1.289&r2=1.290&diff_format=u
Index: ZendEngine2/zend_operators.c
diff -u ZendEngine2/zend_operators.c:1.289 ZendEngine2/zend_operators.c:1.290
--- ZendEngine2/zend_operators.c:1.289	Tue Jan 22 09:29:29 2008
+++ ZendEngine2/zend_operators.c	Wed Mar 19 12:40:20 2008
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_operators.c,v 1.289 2008/01/22 09:29:29 dmitry Exp $ */
+/* $Id: zend_operators.c,v 1.290 2008/03/19 12:40:20 tony2001 Exp $ */
 
 #include <ctype.h>
 
@@ -75,6 +75,34 @@
 }
 /* }}} */
 
+ZEND_API long zend_atol(const char *str, int str_len) /* {{{ */
+{
+	long retval;
+
+	if (!str_len) {
+		str_len = strlen(str);
+	}
+	retval = strtol(str, NULL, 0);
+	if (str_len>0) {
+		switch (str[str_len-1]) {
+			case 'g':
+			case 'G':
+				retval *= 1024;
+				/* break intentionally missing */
+			case 'm':
+			case 'M':
+				retval *= 1024;
+				/* break intentionally missing */
+			case 'k':
+			case 'K':
+				retval *= 1024;
+				break;
+		}
+	}
+	return retval;
+}
+/* }}} */
+
 ZEND_API double zend_string_to_double(const char *number, zend_uint length) /* {{{ */
 {
 	double divisor = 10.0;
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_operators.h?r1=1.127&r2=1.128&diff_format=u
Index: ZendEngine2/zend_operators.h
diff -u ZendEngine2/zend_operators.h:1.127 ZendEngine2/zend_operators.h:1.128
--- ZendEngine2/zend_operators.h:1.127	Thu Feb 14 10:25:10 2008
+++ ZendEngine2/zend_operators.h	Wed Mar 19 12:40:20 2008
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_operators.h,v 1.127 2008/02/14 10:25:10 dmitry Exp $ */
+/* $Id: zend_operators.h,v 1.128 2008/03/19 12:40:20 tony2001 Exp $ */
 
 #ifndef ZEND_OPERATORS_H
 #define ZEND_OPERATORS_H
@@ -336,6 +336,7 @@
 ZEND_API void zend_compare_objects(zval *result, zval *o1, zval *o2 TSRMLS_DC);
 
 ZEND_API int zend_atoi(const char *str, int str_len);
+ZEND_API int zend_atol(const char *str, int str_len);
 
 ZEND_API void zend_locale_sprintf_double(zval *op ZEND_FILE_LINE_DC);
 END_EXTERN_C()
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_ini.c?r1=1.74&r2=1.75&diff_format=u
Index: ZendEngine2/zend_ini.c
diff -u ZendEngine2/zend_ini.c:1.74 ZendEngine2/zend_ini.c:1.75
--- ZendEngine2/zend_ini.c:1.74	Thu Mar 13 16:01:46 2008
+++ ZendEngine2/zend_ini.c	Wed Mar 19 12:40:20 2008
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_ini.c,v 1.74 2008/03/13 16:01:46 iliaa Exp $ */
+/* $Id: zend_ini.c,v 1.75 2008/03/19 12:40:20 tony2001 Exp $ */
 
 #include "zend.h"
 #include "zend_qsort.h"
@@ -557,7 +557,7 @@
 
 	p = (long *) (base+(size_t) mh_arg1);
 
-	*p = zend_atoi(new_value, new_value_length);
+	*p = zend_atol(new_value, new_value_length);
 	return SUCCESS;
 }
 /* }}} */
@@ -573,7 +573,7 @@
 	base = (char *) ts_resource(*((int *) mh_arg2));
 #endif
 
-	tmp = zend_atoi(new_value, new_value_length);
+	tmp = zend_atol(new_value, new_value_length);
 	if (tmp < 0) {
 		return FAILURE;
 	}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.