cvs: ZendEngine2(PHP_5_3) / zend_operators.c zend_operators.h

[email protected] ("Jani Taskinen") Sun, 10 May 2009 22:39:33 -0000
Newsgroups php.zend-engine.cvs
Message-ID <cvsjani1241995173@cvsserver>
jani		Sun May 10 22:39:33 2009 UTC

  Modified files:              (Branch: PHP_5_3)
    /ZendEngine2	zend_operators.c zend_operators.h 
  Log:
  sync with HEAD
jani-20090510223933.txt (text/plain, 8.1 KB)
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_operators.c?r1=1.208.2.4.2.23.2.22&r2=1.208.2.4.2.23.2.23&diff_format=u
Index: ZendEngine2/zend_operators.c
diff -u ZendEngine2/zend_operators.c:1.208.2.4.2.23.2.22 ZendEngine2/zend_operators.c:1.208.2.4.2.23.2.23
--- ZendEngine2/zend_operators.c:1.208.2.4.2.23.2.22	Wed Mar 18 11:25:37 2009
+++ ZendEngine2/zend_operators.c	Sun May 10 22:39:33 2009
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_operators.c,v 1.208.2.4.2.23.2.22 2009/03/18 11:25:37 dmitry Exp $ */
+/* $Id: zend_operators.c,v 1.208.2.4.2.23.2.23 2009/05/10 22:39:33 jani Exp $ */
 
 #include <ctype.h>
 
@@ -1840,6 +1840,11 @@
 	return dest;
 }
 
+ZEND_API char *zend_str_tolower_dup(const char *source, unsigned int length)
+{
+	return zend_str_tolower_copy((char *)emalloc(length+1), source, length);
+}
+
 ZEND_API void zend_str_tolower(char *str, unsigned int length)
 {
 	register unsigned char *p = (unsigned char*)str;
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_operators.h?r1=1.94.2.4.2.10.2.14&r2=1.94.2.4.2.10.2.15&diff_format=u
Index: ZendEngine2/zend_operators.h
diff -u ZendEngine2/zend_operators.h:1.94.2.4.2.10.2.14 ZendEngine2/zend_operators.h:1.94.2.4.2.10.2.15
--- ZendEngine2/zend_operators.h:1.94.2.4.2.10.2.14	Wed Mar 18 01:08:12 2009
+++ ZendEngine2/zend_operators.h	Sun May 10 22:39:33 2009
@@ -5,7 +5,7 @@
    | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
    +----------------------------------------------------------------------+
    | This source file is subject to version 2.00 of the Zend license,     |
-   | that is bundled with this package in the file LICENSE, and is        | 
+   | that is bundled with this package in the file LICENSE, and is        |
    | available through the world-wide-web at the following url:           |
    | http://www.zend.com/license/2_00.txt.                                |
    | If you did not receive a copy of the Zend license and are unable to  |
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_operators.h,v 1.94.2.4.2.10.2.14 2009/03/18 01:08:12 mattwil Exp $ */
+/* $Id: zend_operators.h,v 1.94.2.4.2.10.2.15 2009/05/10 22:39:33 jani Exp $ */
 
 #ifndef ZEND_OPERATORS_H
 #define ZEND_OPERATORS_H
@@ -63,6 +63,7 @@
 ZEND_API zend_bool instanceof_function(const zend_class_entry *instance_ce, const zend_class_entry *ce TSRMLS_DC);
 END_EXTERN_C()
 
+/* {{{ DVAL_TO_LVAL */
 #define MAX_UNSIGNED_INT ((double) LONG_MAX * 2) + 1
 #ifdef _WIN64
 # define DVAL_TO_LVAL(d, l) \
@@ -75,11 +76,11 @@
 # define DVAL_TO_LVAL(d, l) \
 	if ((d) >= LONG_MAX) { \
 		(l) = LONG_MAX; \
-	} else if ((d) <=  LONG_MIN) { \
+	} else if ((d) <= LONG_MIN) { \
 		(l) = LONG_MIN; \
-	} else {\
+	} else { \
 		(l) = (long) (d); \
-	} 
+	}
 #else
 # define DVAL_TO_LVAL(d, l) \
 	if ((d) > LONG_MAX) { \
@@ -94,11 +95,12 @@
 		} else { \
 			(l) = (long) (d); \
 		} \
-	} 
+	}
 #endif
+/* }}} */
 
 #define ZEND_IS_DIGIT(c) ((c) >= '0' && (c) <= '9')
-#define ZEND_IS_XDIGIT(c) (((c) >= 'A' && (c) <= 'F') || ((c) >= 'a'  && (c) <= 'f'))
+#define ZEND_IS_XDIGIT(c) (((c) >= 'A' && (c) <= 'F') || ((c) >= 'a' && (c) <= 'f'))
 
 /**
  * Checks whether the string "str" with length "length" is numeric. The value
@@ -246,7 +248,7 @@
 		return (char *)memchr(p, *needle, (end-p));
 	}
 
-	if(needle_len > end-haystack) {
+	if (needle_len > end-haystack) {
 		return NULL;
 	}
 
@@ -318,15 +320,8 @@
 
 ZEND_API void zend_str_tolower(char *str, unsigned int length);
 ZEND_API char *zend_str_tolower_copy(char *dest, const char *source, unsigned int length);
-END_EXTERN_C()
-
-static inline char *
-zend_str_tolower_dup(const char *source, unsigned int length)
-{
-	return zend_str_tolower_copy((char *)emalloc(length+1), source, length);
-}
+ZEND_API char *zend_str_tolower_dup(const char *source, unsigned int length);
 
-BEGIN_EXTERN_C()
 ZEND_API int zend_binary_zval_strcmp(zval *s1, zval *s2);
 ZEND_API int zend_binary_zval_strncmp(zval *s1, zval *s2, zval *s3);
 ZEND_API int zend_binary_zval_strcasecmp(zval *s1, zval *s2);
@@ -346,14 +341,15 @@
 
 ZEND_API void zend_locale_sprintf_double(zval *op ZEND_FILE_LINE_DC);
 END_EXTERN_C()
+
 #define convert_to_ex_master(ppzv, lower_type, upper_type)	\
-	if ((*ppzv)->type!=IS_##upper_type) {					\
+	if (Z_TYPE_PP(ppzv)!=IS_##upper_type) {					\
 		SEPARATE_ZVAL_IF_NOT_REF(ppzv);						\
 		convert_to_##lower_type(*ppzv);						\
 	}
 
 #define convert_to_explicit_type(pzv, type)		\
-    do {										\
+	do {										\
 		switch (type) {							\
 			case IS_NULL:						\
 				convert_to_null(pzv);			\
@@ -361,26 +357,26 @@
 			case IS_LONG:						\
 				convert_to_long(pzv);			\
 				break;							\
-			case IS_DOUBLE: 					\
-				convert_to_double(pzv); 		\
-				break; 							\
-			case IS_BOOL: 						\
-				convert_to_boolean(pzv); 		\
-				break; 							\
-			case IS_ARRAY: 						\
-				convert_to_array(pzv); 			\
-				break; 							\
-			case IS_OBJECT: 					\
-				convert_to_object(pzv); 		\
-				break; 							\
-			case IS_STRING: 					\
-				convert_to_string(pzv); 		\
-				break; 							\
-			default: 							\
-				assert(0); 						\
-				break; 							\
+			case IS_DOUBLE:						\
+				convert_to_double(pzv);			\
+				break;							\
+			case IS_BOOL:						\
+				convert_to_boolean(pzv);		\
+				break;							\
+			case IS_ARRAY:						\
+				convert_to_array(pzv);			\
+				break;							\
+			case IS_OBJECT:						\
+				convert_to_object(pzv);			\
+				break;							\
+			case IS_STRING:						\
+				convert_to_string(pzv);			\
+				break;							\
+			default:							\
+				assert(0);						\
+				break;							\
 		}										\
-	} while (0);								\
+	} while (0);
 
 #define convert_to_explicit_type_ex(ppzv, str_type)	\
 	if (Z_TYPE_PP(ppzv) != str_type) {				\
@@ -397,8 +393,8 @@
 #define convert_to_null_ex(ppzv)	convert_to_ex_master(ppzv, null, NULL)
 
 #define convert_scalar_to_number_ex(ppzv)							\
-	if (Z_TYPE_PP(ppzv)!=IS_LONG && Z_TYPE_PP(ppzv)!=IS_DOUBLE) {		\
-		if (!Z_ISREF_PP(ppzv)) {										\
+	if (Z_TYPE_PP(ppzv)!=IS_LONG && Z_TYPE_PP(ppzv)!=IS_DOUBLE) {	\
+		if (!Z_ISREF_PP(ppzv)) {									\
 			SEPARATE_ZVAL(ppzv);									\
 		}															\
 		convert_scalar_to_number(*ppzv TSRMLS_CC);					\
@@ -429,11 +425,11 @@
 #define Z_OBJPROP_P(zval_p)		Z_OBJPROP(*zval_p)
 #define Z_OBJCE_P(zval_p)		Z_OBJCE(*zval_p)
 #define Z_RESVAL_P(zval_p)		Z_RESVAL(*zval_p)
-#define Z_OBJVAL_P(zval_p)      Z_OBJVAL(*zval_p)
-#define Z_OBJ_HANDLE_P(zval_p)  Z_OBJ_HANDLE(*zval_p)
-#define Z_OBJ_HT_P(zval_p)      Z_OBJ_HT(*zval_p)
-#define Z_OBJ_HANDLER_P(zval_p, h) Z_OBJ_HANDLER(*zval_p, h)
-#define Z_OBJDEBUG_P(zval_p,is_tmp) Z_OBJDEBUG(*zval_p,is_tmp)
+#define Z_OBJVAL_P(zval_p)		Z_OBJVAL(*zval_p)
+#define Z_OBJ_HANDLE_P(zval_p)	Z_OBJ_HANDLE(*zval_p)
+#define Z_OBJ_HT_P(zval_p)		Z_OBJ_HT(*zval_p)
+#define Z_OBJ_HANDLER_P(zval_p, h)	Z_OBJ_HANDLER(*zval_p, h)
+#define Z_OBJDEBUG_P(zval_p,is_tmp)	Z_OBJDEBUG(*zval_p,is_tmp)
 
 #define Z_LVAL_PP(zval_pp)		Z_LVAL(**zval_pp)
 #define Z_BVAL_PP(zval_pp)		Z_BVAL(**zval_pp)
@@ -444,11 +440,11 @@
 #define Z_OBJPROP_PP(zval_pp)	Z_OBJPROP(**zval_pp)
 #define Z_OBJCE_PP(zval_pp)		Z_OBJCE(**zval_pp)
 #define Z_RESVAL_PP(zval_pp)	Z_RESVAL(**zval_pp)
-#define Z_OBJVAL_PP(zval_pp)    Z_OBJVAL(**zval_pp)
-#define Z_OBJ_HANDLE_PP(zval_p) Z_OBJ_HANDLE(**zval_p)
-#define Z_OBJ_HT_PP(zval_p)     Z_OBJ_HT(**zval_p)
-#define Z_OBJ_HANDLER_PP(zval_p, h) Z_OBJ_HANDLER(**zval_p, h)
-#define Z_OBJDEBUG_PP(zval_pp,is_tmp) Z_OBJDEBUG(**zval_pp,is_tmp)
+#define Z_OBJVAL_PP(zval_pp)	Z_OBJVAL(**zval_pp)
+#define Z_OBJ_HANDLE_PP(zval_p)	Z_OBJ_HANDLE(**zval_p)
+#define Z_OBJ_HT_PP(zval_p)		Z_OBJ_HT(**zval_p)
+#define Z_OBJ_HANDLER_PP(zval_p, h)		Z_OBJ_HANDLER(**zval_p, h)
+#define Z_OBJDEBUG_PP(zval_pp,is_tmp)	Z_OBJDEBUG(**zval_pp,is_tmp)
 
 #define Z_TYPE(zval)		(zval).type
 #define Z_TYPE_P(zval_p)	Z_TYPE(*zval_p)
@@ -456,7 +452,7 @@
 
 #if HAVE_SETLOCALE && defined(ZEND_WIN32) && !defined(ZTS) && defined(_MSC_VER) && (_MSC_VER >= 1400)
 /* This is performance improvement of tolower() on Windows and VC2005
- * GIves 10-18% on bench.php
+ * Gives 10-18% on bench.php
  */
 #define ZEND_USE_TOLOWER_L 1
 #endif