summaryrefslogtreecommitdiff
path: root/Zend/zend_operators.c
diff options
context:
space:
mode:
authorAntony Dovgal <tony2001@php.net>2008-03-19 12:41:23 +0000
committerAntony Dovgal <tony2001@php.net>2008-03-19 12:41:23 +0000
commit7b1bc753c6840c1e2dd001f498764a1ba07ccda6 (patch)
tree04a8ae906b29a8b28cd3fa24be09ddb159aa961b /Zend/zend_operators.c
parent8b5524e2fe4efe68406b4121cc4cee3a0a19d1a7 (diff)
downloadphp-git-7b1bc753c6840c1e2dd001f498764a1ba07ccda6.tar.gz
MFH: add zend_atol()
Diffstat (limited to 'Zend/zend_operators.c')
-rw-r--r--Zend/zend_operators.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index 542af1576f..6a905cef9d 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -71,6 +71,33 @@ ZEND_API int zend_atoi(const char *str, int str_len)
return retval;
}
+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)
{