Guest User

Untitled

a guest
Aug 23rd, 2011
97
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Common subdirectories: ../php-5.3.8/Zend/RFCs and Zend/RFCs
  2. Common subdirectories: ../php-5.3.8/Zend/tests and Zend/tests
  3. Binary files ../php-5.3.8/Zend/zend_alloc.o and Zend/zend_alloc.o differ
  4. diff -u ../php-5.3.8/Zend/zend_API.c Zend/zend_API.c
  5. --- ../php-5.3.8/Zend/zend_API.c 2011-08-05 18:22:27.000000000 -0700
  6. +++ Zend/zend_API.c 2011-08-23 12:05:53.000000000 -0700
  7. @@ -1770,6 +1770,12 @@
  8. } else if (ARG_SHOULD_BE_SENT_BY_REF(fptr, 1)) {
  9. zend_error(error_type, "Method %s::%s() cannot take arguments by reference", ce->name, ZEND_ISSET_FUNC_NAME);
  10. }
  11. + } else if (name_len == sizeof(ZEND_EMPTY_FUNC_NAME) - 1 && !memcmp(lcname, ZEND_EMPTY_FUNC_NAME, sizeof(ZEND_EMPTY_FUNC_NAME))) {
  12. + if (fptr->common.num_args != 1) {
  13. + zend_error(error_type, "Method %s::%s() must take exactly 1 argument", ce->name, ZEND_EMPTY_FUNC_NAME);
  14. + } else if (ARG_SHOULD_BE_SENT_BY_REF(fptr, 1)) {
  15. + zend_error(error_type, "Method %s::%s() cannot take arguments by reference", ce->name, ZEND_EMPTY_FUNC_NAME);
  16. + }
  17. } else if (name_len == sizeof(ZEND_CALL_FUNC_NAME) - 1 && !memcmp(lcname, ZEND_CALL_FUNC_NAME, sizeof(ZEND_CALL_FUNC_NAME))) {
  18. if (fptr->common.num_args != 2) {
  19. zend_error(error_type, "Method %s::%s() must take exactly 2 arguments", ce->name, ZEND_CALL_FUNC_NAME);
  20. @@ -1801,7 +1807,7 @@
  21. int count=0, unload=0;
  22. HashTable *target_function_table = function_table;
  23. int error_type;
  24. - zend_function *ctor = NULL, *dtor = NULL, *clone = NULL, *__get = NULL, *__set = NULL, *__unset = NULL, *__isset = NULL, *__call = NULL, *__callstatic = NULL, *__tostring = NULL;
  25. + zend_function *ctor = NULL, *dtor = NULL, *clone = NULL, *__get = NULL, *__set = NULL, *__unset = NULL, *__isset = NULL, *__empty = NULL, *__call = NULL, *__callstatic = NULL, *__tostring = NULL;
  26. char *lowercase_name;
  27. int fname_len;
  28. char *lc_class_name = NULL;
  29. @@ -1931,6 +1937,8 @@
  30. __unset = reg_function;
  31. } else if ((fname_len == sizeof(ZEND_ISSET_FUNC_NAME)-1) && !memcmp(lowercase_name, ZEND_ISSET_FUNC_NAME, sizeof(ZEND_ISSET_FUNC_NAME))) {
  32. __isset = reg_function;
  33. + } else if ((fname_len == sizeof(ZEND_EMPTY_FUNC_NAME)-1) && !memcmp(lowercase_name, ZEND_EMPTY_FUNC_NAME, sizeof(ZEND_EMPTY_FUNC_NAME))) {
  34. + __empty = reg_function;
  35. } else {
  36. reg_function = NULL;
  37. }
  38. @@ -1969,6 +1977,7 @@
  39. scope->__set = __set;
  40. scope->__unset = __unset;
  41. scope->__isset = __isset;
  42. + scope->__empty = __empty;
  43. if (ctor) {
  44. ctor->common.fn_flags |= ZEND_ACC_CTOR;
  45. if (ctor->common.fn_flags & ZEND_ACC_STATIC) {
  46. @@ -2032,6 +2041,12 @@
  47. }
  48. __isset->common.fn_flags &= ~ZEND_ACC_ALLOW_STATIC;
  49. }
  50. + if (__empty) {
  51. + if (__empty->common.fn_flags & ZEND_ACC_STATIC) {
  52. + zend_error(error_type, "Method %s::%s() cannot be static", scope->name, __isset->common.function_name);
  53. + }
  54. + __empty->common.fn_flags &= ~ZEND_ACC_ALLOW_STATIC;
  55. + }
  56. efree(lc_class_name);
  57. }
  58. return SUCCESS;
  59. Binary files ../php-5.3.8/Zend/zend_API.o and Zend/zend_API.o differ
  60. diff -u ../php-5.3.8/Zend/zend_builtin_functions.c Zend/zend_builtin_functions.c
  61. --- ../php-5.3.8/Zend/zend_builtin_functions.c 2011-08-08 07:54:50.000000000 -0700
  62. +++ Zend/zend_builtin_functions.c 2011-08-23 16:57:36.000000000 -0700
  63. @@ -1148,7 +1148,7 @@
  64.  
  65. if (Z_TYPE_P(object) == IS_OBJECT &&
  66. Z_OBJ_HANDLER_P(object, has_property) &&
  67. - Z_OBJ_HANDLER_P(object, has_property)(object, &property_z, 2 TSRMLS_CC)) {
  68. + Z_OBJ_HANDLER_P(object, has_property)(object, &property_z, 3 TSRMLS_CC)) {
  69. RETURN_TRUE;
  70. }
  71. RETURN_FALSE;
  72. Binary files ../php-5.3.8/Zend/zend_builtin_functions.o and Zend/zend_builtin_functions.o differ
  73. Binary files ../php-5.3.8/Zend/zend_closures.o and Zend/zend_closures.o differ
  74. diff -u ../php-5.3.8/Zend/zend_compile.c Zend/zend_compile.c
  75. --- ../php-5.3.8/Zend/zend_compile.c 2011-07-08 09:29:33.000000000 -0700
  76. +++ Zend/zend_compile.c 2011-08-23 12:04:23.000000000 -0700
  77. @@ -1265,6 +1265,10 @@
  78. if (fn_flags & ((ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC) ^ ZEND_ACC_PUBLIC)) {
  79. zend_error(E_WARNING, "The magic method __isset() must have public visibility and cannot be static");
  80. }
  81. + } else if ((name_len == sizeof(ZEND_EMPTY_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_EMPTY_FUNC_NAME, sizeof(ZEND_EMPTY_FUNC_NAME)-1))) {
  82. + if (fn_flags & ((ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC) ^ ZEND_ACC_PUBLIC)) {
  83. + zend_error(E_WARNING, "The magic method __empty() must have public visibility and cannot be static");
  84. + }
  85. } else if ((name_len == sizeof(ZEND_TOSTRING_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_TOSTRING_FUNC_NAME, sizeof(ZEND_TOSTRING_FUNC_NAME)-1))) {
  86. if (fn_flags & ((ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC) ^ ZEND_ACC_PUBLIC)) {
  87. zend_error(E_WARNING, "The magic method __toString() must have public visibility and cannot be static");
  88. @@ -1320,6 +1324,11 @@
  89. zend_error(E_WARNING, "The magic method __isset() must have public visibility and cannot be static");
  90. }
  91. CG(active_class_entry)->__isset = (zend_function *) CG(active_op_array);
  92. + } else if ((name_len == sizeof(ZEND_EMPTY_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_EMPTY_FUNC_NAME, sizeof(ZEND_EMPTY_FUNC_NAME)-1))) {
  93. + if (fn_flags & ((ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC) ^ ZEND_ACC_PUBLIC)) {
  94. + zend_error(E_WARNING, "The magic method __empty() must have public visibility and cannot be static");
  95. + }
  96. + CG(active_class_entry)->__empty = (zend_function *) CG(active_op_array);
  97. } else if ((name_len == sizeof(ZEND_TOSTRING_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_TOSTRING_FUNC_NAME, sizeof(ZEND_TOSTRING_FUNC_NAME)-1))) {
  98. if (fn_flags & ((ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC) ^ ZEND_ACC_PUBLIC)) {
  99. zend_error(E_WARNING, "The magic method __toString() must have public visibility and cannot be static");
  100. @@ -2445,6 +2454,9 @@
  101. if (!ce->__isset) {
  102. ce->__isset = ce->parent->__isset;
  103. }
  104. + if (!ce->__empty) {
  105. + ce->__empty = ce->parent->__empty;
  106. + }
  107. if (!ce->__call) {
  108. ce->__call = ce->parent->__call;
  109. }
  110. @@ -5041,6 +5053,7 @@
  111. ce->__set = NULL;
  112. ce->__unset = NULL;
  113. ce->__isset = NULL;
  114. + ce->__empty = NULL;
  115. ce->__call = NULL;
  116. ce->__callstatic = NULL;
  117. ce->__tostring = NULL;
  118. diff -u ../php-5.3.8/Zend/zend_compile.h Zend/zend_compile.h
  119. --- ../php-5.3.8/Zend/zend_compile.h 2011-06-11 18:43:10.000000000 -0700
  120. +++ Zend/zend_compile.h 2011-08-23 12:00:59.000000000 -0700
  121. @@ -742,6 +742,7 @@
  122. #define ZEND_SET_FUNC_NAME "__set"
  123. #define ZEND_UNSET_FUNC_NAME "__unset"
  124. #define ZEND_ISSET_FUNC_NAME "__isset"
  125. +#define ZEND_EMPTY_FUNC_NAME "__empty"
  126. #define ZEND_CALL_FUNC_NAME "__call"
  127. #define ZEND_CALLSTATIC_FUNC_NAME "__callstatic"
  128. #define ZEND_TOSTRING_FUNC_NAME "__tostring"
  129. Binary files ../php-5.3.8/Zend/zend_compile.o and Zend/zend_compile.o differ
  130. Binary files ../php-5.3.8/Zend/zend_constants.o and Zend/zend_constants.o differ
  131. Binary files ../php-5.3.8/Zend/zend_default_classes.o and Zend/zend_default_classes.o differ
  132. Binary files ../php-5.3.8/Zend/zend_dynamic_array.o and Zend/zend_dynamic_array.o differ
  133. Binary files ../php-5.3.8/Zend/zend_exceptions.o and Zend/zend_exceptions.o differ
  134. Binary files ../php-5.3.8/Zend/zend_execute_API.o and Zend/zend_execute_API.o differ
  135. Binary files ../php-5.3.8/Zend/zend_execute.o and Zend/zend_execute.o differ
  136. Binary files ../php-5.3.8/Zend/zend_extensions.o and Zend/zend_extensions.o differ
  137. Binary files ../php-5.3.8/Zend/zend_float.o and Zend/zend_float.o differ
  138. Binary files ../php-5.3.8/Zend/zend_gc.o and Zend/zend_gc.o differ
  139. diff -u ../php-5.3.8/Zend/zend.h Zend/zend.h
  140. --- ../php-5.3.8/Zend/zend.h 2011-01-16 13:39:22.000000000 -0700
  141. +++ Zend/zend.h 2011-08-23 14:47:16.000000000 -0700
  142. @@ -291,6 +291,7 @@
  143. zend_bool in_set;
  144. zend_bool in_unset;
  145. zend_bool in_isset;
  146. + zend_bool in_empty;
  147. zend_bool dummy; /* sizeof(zend_guard) must not be equal to sizeof(void*) */
  148. } zend_guard;
  149.  
  150. @@ -439,6 +440,7 @@
  151. union _zend_function *__set;
  152. union _zend_function *__unset;
  153. union _zend_function *__isset;
  154. + union _zend_function *__empty;
  155. union _zend_function *__call;
  156. union _zend_function *__callstatic;
  157. union _zend_function *__tostring;
  158. Binary files ../php-5.3.8/Zend/zend_hash.o and Zend/zend_hash.o differ
  159. Binary files ../php-5.3.8/Zend/zend_highlight.o and Zend/zend_highlight.o differ
  160. Binary files ../php-5.3.8/Zend/zend_indent.o and Zend/zend_indent.o differ
  161. Binary files ../php-5.3.8/Zend/zend_ini.o and Zend/zend_ini.o differ
  162. Binary files ../php-5.3.8/Zend/zend_ini_parser.o and Zend/zend_ini_parser.o differ
  163. Binary files ../php-5.3.8/Zend/zend_ini_scanner.o and Zend/zend_ini_scanner.o differ
  164. Binary files ../php-5.3.8/Zend/zend_interfaces.o and Zend/zend_interfaces.o differ
  165. Binary files ../php-5.3.8/Zend/zend_iterators.o and Zend/zend_iterators.o differ
  166. Binary files ../php-5.3.8/Zend/zend_language_parser.o and Zend/zend_language_parser.o differ
  167. Binary files ../php-5.3.8/Zend/zend_language_scanner.o and Zend/zend_language_scanner.o differ
  168. Binary files ../php-5.3.8/Zend/zend_list.o and Zend/zend_list.o differ
  169. Binary files ../php-5.3.8/Zend/zend_llist.o and Zend/zend_llist.o differ
  170. Binary files ../php-5.3.8/Zend/zend_multibyte.o and Zend/zend_multibyte.o differ
  171. Binary files ../php-5.3.8/Zend/zend.o and Zend/zend.o differ
  172. diff -u ../php-5.3.8/Zend/zend_object_handlers.c Zend/zend_object_handlers.c
  173. --- ../php-5.3.8/Zend/zend_object_handlers.c 2011-04-07 06:35:27.000000000 -0700
  174. +++ Zend/zend_object_handlers.c 2011-08-23 17:26:17.000000000 -0700
  175. @@ -158,6 +158,27 @@
  176. }
  177. /* }}} */
  178.  
  179. +static zval *zend_std_call_isempty(zval *object, zval *member TSRMLS_DC) /* {{{ */
  180. +{
  181. + zval *retval = NULL;
  182. + zend_class_entry *ce = Z_OBJCE_P(object);
  183. +
  184. + /* __empty handler is called with one argument:
  185. + property name
  186. +
  187. + it should return whether the property is empty or not
  188. + */
  189. +
  190. + SEPARATE_ARG_IF_REF(member);
  191. +
  192. + zend_call_method_with_1_params(&object, ce, &ce->__empty, ZEND_EMPTY_FUNC_NAME, &retval, member);
  193. +
  194. + zval_ptr_dtor(&member);
  195. +
  196. + return retval;
  197. +}
  198. +/* }}} */
  199. +
  200. static int zend_verify_property_access(zend_property_info *property_info, zend_class_entry *ce TSRMLS_DC) /* {{{ */
  201. {
  202. switch (property_info->flags & ZEND_ACC_PPP_MASK) {
  203. @@ -307,6 +328,7 @@
  204. stub.in_set = 0;
  205. stub.in_unset = 0;
  206. stub.in_isset = 0;
  207. + stub.in_empty = 0;
  208. return zend_hash_quick_add(zobj->guards, property_info->name, property_info->name_length+1, property_info->h, (void**)&stub, sizeof(stub), (void**) pguard);
  209. }
  210. /* }}} */
  211. @@ -1164,14 +1186,34 @@
  212. #if DEBUG_OBJECT_HANDLERS
  213. fprintf(stderr, "Read object #%d property: %s\n", Z_OBJ_HANDLE_P(object), Z_STRVAL_P(member));
  214. #endif
  215. -
  216. property_info = zend_get_property_info(zobj->ce, member, 1 TSRMLS_CC);
  217.  
  218. if (!property_info || zend_hash_quick_find(zobj->properties, property_info->name, property_info->name_length+1, property_info->h, (void **) &value) == FAILURE) {
  219. zend_guard *guard;
  220.  
  221. result = 0;
  222. - if ((has_set_exists != 2) &&
  223. +
  224. + if(has_set_exists == ZEND_ISEMPTY &&
  225. + zobj->ce->__empty &&
  226. + zend_get_property_guard(zobj, property_info, member, &guard) == SUCCESS &&
  227. + !guard->in_empty) {
  228. + zval *rv;
  229. +
  230. + /* have empty func - try with it! */
  231. + Z_ADDREF_P(object);
  232. + if (PZVAL_IS_REF(object)) {
  233. + SEPARATE_ZVAL(&object);
  234. + }
  235. + guard->in_empty = 1; /* prevent circular getting */
  236. + rv = zend_std_call_isempty(object, member TSRMLS_CC);
  237. + if (rv) {
  238. + result = !zend_is_true(rv);
  239. + zval_ptr_dtor(&rv);
  240. + }
  241. + guard->in_empty = 0;
  242. + zval_ptr_dtor(&object);
  243. +
  244. + } else if (has_set_exists == ZEND_ISSET &&
  245. zobj->ce->__isset &&
  246. zend_get_property_guard(zobj, property_info, member, &guard) == SUCCESS &&
  247. !guard->in_isset) {
  248. @@ -1187,7 +1229,7 @@
  249. if (rv) {
  250. result = zend_is_true(rv);
  251. zval_ptr_dtor(&rv);
  252. - if (has_set_exists && result) {
  253. + if (!result) {
  254. if (!EG(exception) && zobj->ce->__get && !guard->in_get) {
  255. guard->in_get = 1;
  256. rv = zend_std_call_getter(object, member TSRMLS_CC);
  257. @@ -1208,17 +1250,17 @@
  258. zval_ptr_dtor(&object);
  259. }
  260. } else {
  261. - switch (has_set_exists) {
  262. - case 0:
  263. + switch (has_set_exists) {
  264. + case ZEND_ISSET:
  265. result = (Z_TYPE_PP(value) != IS_NULL);
  266. break;
  267. - default:
  268. + case ZEND_ISEMPTY:
  269. result = zend_is_true(*value);
  270. break;
  271. - case 2:
  272. - result = 1;
  273. - break;
  274. - }
  275. + case 3: // comes from property_exists
  276. + result = 1;
  277. + break;
  278. + }
  279. }
  280.  
  281. if (tmp_member) {
  282. Binary files ../php-5.3.8/Zend/zend_object_handlers.o and Zend/zend_object_handlers.o differ
  283. Binary files ../php-5.3.8/Zend/zend_objects_API.o and Zend/zend_objects_API.o differ
  284. Binary files ../php-5.3.8/Zend/zend_objects.o and Zend/zend_objects.o differ
  285. Binary files ../php-5.3.8/Zend/zend_opcode.o and Zend/zend_opcode.o differ
  286. Binary files ../php-5.3.8/Zend/zend_operators.o and Zend/zend_operators.o differ
  287. Binary files ../php-5.3.8/Zend/zend_ptr_stack.o and Zend/zend_ptr_stack.o differ
  288. Binary files ../php-5.3.8/Zend/zend_qsort.o and Zend/zend_qsort.o differ
  289. Binary files ../php-5.3.8/Zend/zend_sprintf.o and Zend/zend_sprintf.o differ
  290. Binary files ../php-5.3.8/Zend/zend_stack.o and Zend/zend_stack.o differ
  291. Binary files ../php-5.3.8/Zend/zend_stream.o and Zend/zend_stream.o differ
  292. Binary files ../php-5.3.8/Zend/zend_strtod.o and Zend/zend_strtod.o differ
  293. Binary files ../php-5.3.8/Zend/zend_ts_hash.o and Zend/zend_ts_hash.o differ
  294. Binary files ../php-5.3.8/Zend/zend_variables.o and Zend/zend_variables.o differ
  295. diff -u ../php-5.3.8/Zend/zend_vm_def.h Zend/zend_vm_def.h
  296. --- ../php-5.3.8/Zend/zend_vm_def.h 2011-07-11 03:31:49.000000000 -0700
  297. +++ Zend/zend_vm_def.h 2011-08-23 16:10:12.000000000 -0700
  298. @@ -4009,7 +4009,7 @@
  299. }
  300. if (prop_dim) {
  301. if (Z_OBJ_HT_P(*container)->has_property) {
  302. - result = Z_OBJ_HT_P(*container)->has_property(*container, offset, (opline->extended_value == ZEND_ISEMPTY) TSRMLS_CC);
  303. + result = Z_OBJ_HT_P(*container)->has_property(*container, offset, opline->extended_value TSRMLS_CC);
  304. } else {
  305. zend_error(E_NOTICE, "Trying to check property of non-object");
  306. result = 0;
  307. diff -u ../php-5.3.8/Zend/zend_vm_execute.h Zend/zend_vm_execute.h
  308. --- ../php-5.3.8/Zend/zend_vm_execute.h 2011-07-11 03:31:49.000000000 -0700
  309. +++ Zend/zend_vm_execute.h 2011-08-23 15:43:17.000000000 -0700
  310. @@ -10898,6 +10898,8 @@
  311. zval **container = _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC);
  312. zval **value = NULL;
  313. int result = 0;
  314. + fprintf(stderr, "has_set_exists isset %d\n", ZEND_ISSET);
  315. + fprintf(stderr, "has_set_exists empty %d\n", ZEND_ISEMPTY);
  316.  
  317. if (IS_VAR != IS_VAR || container) {
  318.  
  319. @@ -10959,9 +10961,10 @@
  320. if (0) {
  321. MAKE_REAL_ZVAL_PTR(offset);
  322. }
  323. + zend_error(E_WARNING, "debug: %d", opline->extended_value);
  324. if (prop_dim) {
  325. if (Z_OBJ_HT_P(*container)->has_property) {
  326. - result = Z_OBJ_HT_P(*container)->has_property(*container, offset, (opline->extended_value == ZEND_ISEMPTY) TSRMLS_CC);
  327. + result = Z_OBJ_HT_P(*container)->has_property(*container, offset, opline->extended_value TSRMLS_CC);
  328. } else {
  329. zend_error(E_NOTICE, "Trying to check property of non-object");
  330. result = 0;
  331. @@ -12712,7 +12715,7 @@
  332. }
  333. if (prop_dim) {
  334. if (Z_OBJ_HT_P(*container)->has_property) {
  335. - result = Z_OBJ_HT_P(*container)->has_property(*container, offset, (opline->extended_value == ZEND_ISEMPTY) TSRMLS_CC);
  336. + result = Z_OBJ_HT_P(*container)->has_property(*container, offset, opline->extended_value TSRMLS_CC);
  337. } else {
  338. zend_error(E_NOTICE, "Trying to check property of non-object");
  339. result = 0;
  340. @@ -14514,7 +14517,7 @@
  341. }
  342. if (prop_dim) {
  343. if (Z_OBJ_HT_P(*container)->has_property) {
  344. - result = Z_OBJ_HT_P(*container)->has_property(*container, offset, (opline->extended_value == ZEND_ISEMPTY) TSRMLS_CC);
  345. + result = Z_OBJ_HT_P(*container)->has_property(*container, offset, opline->extended_value TSRMLS_CC);
  346. } else {
  347. zend_error(E_NOTICE, "Trying to check property of non-object");
  348. result = 0;
  349. @@ -16902,7 +16905,7 @@
  350. }
  351. if (prop_dim) {
  352. if (Z_OBJ_HT_P(*container)->has_property) {
  353. - result = Z_OBJ_HT_P(*container)->has_property(*container, offset, (opline->extended_value == ZEND_ISEMPTY) TSRMLS_CC);
  354. + result = Z_OBJ_HT_P(*container)->has_property(*container, offset, opline->extended_value TSRMLS_CC);
  355. } else {
  356. zend_error(E_NOTICE, "Trying to check property of non-object");
  357. result = 0;
  358. @@ -18094,7 +18097,7 @@
  359. }
  360. if (prop_dim) {
  361. if (Z_OBJ_HT_P(*container)->has_property) {
  362. - result = Z_OBJ_HT_P(*container)->has_property(*container, offset, (opline->extended_value == ZEND_ISEMPTY) TSRMLS_CC);
  363. + result = Z_OBJ_HT_P(*container)->has_property(*container, offset, opline->extended_value TSRMLS_CC);
  364. } else {
  365. zend_error(E_NOTICE, "Trying to check property of non-object");
  366. result = 0;
  367. @@ -19153,7 +19156,7 @@
  368. }
  369. if (prop_dim) {
  370. if (Z_OBJ_HT_P(*container)->has_property) {
  371. - result = Z_OBJ_HT_P(*container)->has_property(*container, offset, (opline->extended_value == ZEND_ISEMPTY) TSRMLS_CC);
  372. + result = Z_OBJ_HT_P(*container)->has_property(*container, offset, opline->extended_value TSRMLS_CC);
  373. } else {
  374. zend_error(E_NOTICE, "Trying to check property of non-object");
  375. result = 0;
  376. @@ -20212,7 +20215,7 @@
  377. }
  378. if (prop_dim) {
  379. if (Z_OBJ_HT_P(*container)->has_property) {
  380. - result = Z_OBJ_HT_P(*container)->has_property(*container, offset, (opline->extended_value == ZEND_ISEMPTY) TSRMLS_CC);
  381. + result = Z_OBJ_HT_P(*container)->has_property(*container, offset, opline->extended_value TSRMLS_CC);
  382. } else {
  383. zend_error(E_NOTICE, "Trying to check property of non-object");
  384. result = 0;
  385. @@ -21530,7 +21533,7 @@
  386. }
  387. if (prop_dim) {
  388. if (Z_OBJ_HT_P(*container)->has_property) {
  389. - result = Z_OBJ_HT_P(*container)->has_property(*container, offset, (opline->extended_value == ZEND_ISEMPTY) TSRMLS_CC);
  390. + result = Z_OBJ_HT_P(*container)->has_property(*container, offset, opline->extended_value TSRMLS_CC);
  391. } else {
  392. zend_error(E_NOTICE, "Trying to check property of non-object");
  393. result = 0;
  394. @@ -24544,7 +24547,7 @@
  395. }
  396. if (prop_dim) {
  397. if (Z_OBJ_HT_P(*container)->has_property) {
  398. - result = Z_OBJ_HT_P(*container)->has_property(*container, offset, (opline->extended_value == ZEND_ISEMPTY) TSRMLS_CC);
  399. + result = Z_OBJ_HT_P(*container)->has_property(*container, offset, opline->extended_value TSRMLS_CC);
  400. } else {
  401. zend_error(E_NOTICE, "Trying to check property of non-object");
  402. result = 0;
  403. @@ -26186,7 +26189,7 @@
  404. }
  405. if (prop_dim) {
  406. if (Z_OBJ_HT_P(*container)->has_property) {
  407. - result = Z_OBJ_HT_P(*container)->has_property(*container, offset, (opline->extended_value == ZEND_ISEMPTY) TSRMLS_CC);
  408. + result = Z_OBJ_HT_P(*container)->has_property(*container, offset, opline->extended_value TSRMLS_CC);
  409. } else {
  410. zend_error(E_NOTICE, "Trying to check property of non-object");
  411. result = 0;
  412. @@ -27878,7 +27881,7 @@
  413. }
  414. if (prop_dim) {
  415. if (Z_OBJ_HT_P(*container)->has_property) {
  416. - result = Z_OBJ_HT_P(*container)->has_property(*container, offset, (opline->extended_value == ZEND_ISEMPTY) TSRMLS_CC);
  417. + result = Z_OBJ_HT_P(*container)->has_property(*container, offset, opline->extended_value TSRMLS_CC);
  418. } else {
  419. zend_error(E_NOTICE, "Trying to check property of non-object");
  420. result = 0;
  421. @@ -30057,7 +30060,7 @@
  422. }
  423. if (prop_dim) {
  424. if (Z_OBJ_HT_P(*container)->has_property) {
  425. - result = Z_OBJ_HT_P(*container)->has_property(*container, offset, (opline->extended_value == ZEND_ISEMPTY) TSRMLS_CC);
  426. + result = Z_OBJ_HT_P(*container)->has_property(*container, offset, opline->extended_value TSRMLS_CC);
  427. } else {
  428. zend_error(E_NOTICE, "Trying to check property of non-object");
  429. result = 0;
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×