Commit Graph

992 Commits

Author SHA1 Message Date
Aaron Piotrowski
ed1b64877d Switch position of ce in exception ce variable names 2015-07-03 09:45:03 -05:00
Aaron Piotrowski
a812a74c2e Change zend_exception_get_default() to zend_exception_ce 2015-07-03 09:44:48 -05:00
Dmitry Stogov
4a2e40bb86 Use ZSTR_ API to access zend_string elements (this is just renaming without semantick changes). 2015-06-30 04:05:24 +03:00
Aaron Piotrowski
110e0a5a2c Merge branch 'master' into throwable-interface
# Conflicts:
#	Zend/zend_language_scanner.c
#	Zend/zend_language_scanner.l
#	ext/simplexml/tests/SimpleXMLElement_xpath.phpt
2015-06-14 18:53:11 -05:00
Nikita Popov
b081da657e Expose pdo stmt ctor args to gc
These very commonly contain a reference to the PDO object itself.
2015-05-20 18:28:09 +02:00
Aaron Piotrowski
e97d5fab35 Update exception names in tests after formatting changes. 2015-05-17 17:31:43 -05:00
Nikita Popov
3ae995f03c Tweak uncaught exception message display
This implements a reduced variant of #1226 with just the following
change:

-Fatal error: Uncaught exception 'EngineException' with message 'Call to private method foo::bar() from context ''' in %s:%d
+Fatal error: Uncaught EngineException: Call to private method foo::bar() from context '' in %s:%d

The '' wrapper around messages is very weird if the exception
message itself contains ''. Futhermore having the message wrapped
in '' doesn't work for the "and defined" suffix of
TypeExceptions.
2015-05-17 18:47:06 +02:00
Stanislav Malyshev
2660fb96aa Merge branch 'pull-request/1277'
* pull-request/1277:
  fix typos
2015-05-16 14:20:41 -07:00
Nikita Popov
c9f27ee422 Display EngineExceptions like ordinary exceptions
TypeException stays as-is for now because it uses messages that are
incompatible with the way exception messages are displayed.

closure_038.phpt and a few others now show that we're generating
too many exceptions for compound operations on undefined properties
-- this needs to be fixed in a followup.
2015-05-15 23:40:32 +02:00
olshevskiy87
8bdec7a248 fix typos
Signed-off-by: olshevskiy87 <olshevskiy87@bk.ru>
2015-05-13 22:28:35 +04:00
Dmitry Stogov
70c86732cb Use zend_string to represent pdo_column_data.name and avoid duplication. 2015-05-05 16:19:51 +03:00
Christopher Jones
7ba353ef69 Add unique prefix to exported function 2015-05-02 10:03:30 -07:00
Christopher Jones
be806eba80 Export free_statement to replace php_pdo_stmt_delref which was deleted in 9fe8531309 along with php_pdo_stmt_addref 2015-05-01 18:17:34 -07:00
Dmitry Stogov
15a5f61cf4 Use fast method to check if first arguments should be passed by reference (not tested onbig endian). 2015-04-22 21:46:13 +03:00
Nikita Popov
6202e2860d Fix leak of Pdo object if query() fails
Decref the DBH object when storing the errored query statement --
the DBH owns the stmt, so it will live long enough.
2015-04-16 21:08:29 +02:00
Nikita Popov
32ab26182b Fix leak of FETCH_INTO object 2015-04-16 21:08:29 +02:00
Nikita Popov
3d7959c87b Fix PdoRow leak
PdoStatement should only hold a weakref to the PdoRow.
2015-04-16 21:08:29 +02:00
Nikita Popov
caf9219dea Fix EH_THROW replacement in PDO constructor
Needs to happen for the "goto options" case as well, otherwise
will try to restore error handling that was never replaced.
2015-04-06 12:15:04 +02:00
Nikita Popov
122d759618 Always throw TypeException on throwing zpp failures
Introduces a ZEND_PARSE_PARAMS_THROW flag for zpp, which forces to
report FAILURE errors using a TypeException instead of a Warning,
like it would happen in strict mode.

Adds a zend_parse_parameters_throw() convenience function, which
invokes zpp with this flag.

Converts all cases I could identify, where we currently have
throwing zpp usage in constructors and replaces them with this API.
Error handling is still replaced to EH_THROW in some cases to handle
other, domain-specific errors in constructors.
2015-04-06 11:27:34 +02:00
Nikita Popov
30d59aed1c Try fixing PDO MySQL pconnect test
Use less aggressive conversion to exceptions, in particular
do not convert warnings that happen during check_liveness. If the
server has gone away this will just reconnect and we still end up
with a valid connection, so it shouldn't throw.

Also drop some unnecessary checks for malloc returning NULL.
2015-04-04 16:00:17 +02:00
Dmitry Stogov
ea09a9fa32 Convert fatal errors into EngineExceptions
Make zval_update_constant_ex(), zval_update_constant(), zend_update_class_constants() and zend_ast_evaluate() return SUCCESS or FAILURE.
2015-04-02 02:05:25 +03:00
Dmitry Stogov
1018f462d8 Patch improvement:
Removed the corresponding core code.
Fixed ext/com_dotnet and ext/date.
Refactored ext/intl changes.
Improved ext/fileinfo and ext/pdo changes.
Fixed tests.
2015-03-30 18:53:38 +03:00
Dmitry Stogov
9155a267ad Merge branch 'InternalClassClean' of github.com:Danack/php-src into InternalClassClean
* 'InternalClassClean' of github.com:Danack/php-src:
  Fixed indentation. Fixed comment style. Fixed commented out code.
  Reverted change to function name and added note of why it is different from the class it is actually changing.
  Made UConverter throw an exception if the constructor fails.
  Fixed PDO constructor to not return null.
  Fixed fileinfo behaviour.
  Made Phar throw exception on bad constructor.
  Converted intl extension to use IntlException in constructors.
  Fixed SplFixedArray and tests.
  Fixed ReflectionExtension and ReflectionProperty.
  Fixed ReflectionFunction, ReflectionMethod and ReflectionParameter.
  Fixed PDORow behaviour and message.
2015-03-30 12:14:43 +03:00
Anatol Belski
19360f386e cleanup mod version macros, round 3 2015-03-23 20:54:55 +01:00
Danack
6b232643e5 Reverted change to function name and added note of why it is different from the class it is actually changing. 2015-03-15 18:03:08 +00:00
Danack
d3267d0092 Fixed PDO constructor to not return null. 2015-03-15 15:03:03 +00:00
Danack
043a02605f Fixed ReflectionFunction, ReflectionMethod and ReflectionParameter. 2015-03-01 13:06:58 +00:00
Danack
b00cd68d74 Fixed PDORow behaviour and message. 2015-03-01 02:37:57 +00:00
Dmitry Stogov
1eb4352143 Use new ZEND_HASH_FOREACH_... API. 2015-02-10 15:43:12 +03:00
Matteo Beccati
b32458f0c9 Removed unused REGISTER_PDO_CONST_LONG 2015-02-08 13:31:01 +01:00
Dmitry Stogov
9e70d7672d Move zend_object->guards into additional slot of zend_object->properties_table[]. As result size of objects without __get/__set/__unset/__isset magic methods is reduced. 2015-02-04 15:24:13 +03:00
Michael Wallner
bd06f8bb5f fix warnings 2015-01-30 20:08:17 +01:00
Stanislav Malyshev
598c935245 update the .re file for PDO 2015-01-27 13:48:24 -08:00
Stanislav Malyshev
0290571ccf bump the API no 2015-01-27 09:22:20 -08:00
Stanislav Malyshev
dfe6aea9ca size_t cleanup for PDO 2015-01-26 16:16:02 -08:00
Xinchen Hui
fc33f52d8c bump year 2015-01-15 23:27:30 +08:00
Xinchen Hui
0579e8278d bump year 2015-01-15 23:26:37 +08:00
Stanislav Malyshev
b7a7b1a624 trailing whitespace removal 2015-01-10 15:07:38 -08:00
Dmitry Stogov
2646f7bcb9 Don't count variadic argument in zend_func.common.num_args. This allows faster CALL/RETURN code. 2014-12-22 16:44:39 +03:00
Anatol Belski
e112f6a04e second shot on removing TSRMLS_* 2014-12-14 14:07:59 +01:00
Anatol Belski
bdeb220f48 first shot remove TSRMLS_* things 2014-12-13 23:06:14 +01:00
Guilherme Blanco
094d409b3d Removed ZEND_ACC_FINAL_CLASS which is unnecessary. This also fixed some currently defined classes as final which were just not being considered as such before. 2014-12-12 17:29:54 +01:00
Dmitry Stogov
5dd427eac2 Use zend_string* for op_array->arg_info[]->name and op_array->arg_info[]->class_name. For internal functions we still use char*. 2014-12-03 16:56:09 +03:00
Julien Pauli
4bf299a250 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION > 1
2014-11-29 11:39:37 +01:00
Julien Pauli
1813fe9f38 Merge branch 'pull-request/656' into PHP-5.5
* pull-request/656:
  PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION > 1
2014-11-29 11:38:57 +01:00
Popa Marius Adrian
cf2cd8fb20 PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION > 1
cleanup and PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION > 1
2014-11-29 11:38:36 +01:00
Veres Lajos
06fdf359e3 typo fixes - https://github.com/vlajos/misspell_fixer 2014-11-23 14:52:47 -08:00
Veres Lajos
4dc994571d typo fixes - https://github.com/vlajos/misspell_fixer
Conflicts:
	ext/ftp/ftp.h
	ext/pcre/pcrelib/pcre_printint.c
	ext/pcre/pcrelib/sljit/sljitLir.c
	ext/pcre/pcrelib/sljit/sljitLir.h
	ext/pcre/pcrelib/sljit/sljitNativeARM_32.c
	ext/pcre/pcrelib/sljit/sljitNativeTILEGX_64.c
	ext/pgsql/pgsql.c
	ext/phar/func_interceptors.c
	ext/soap/soap.c
	ext/standard/image.c
2014-11-23 14:33:43 -08:00
Xinchen Hui
6771f5590c Another fix for test fail 2014-11-13 14:23:25 +08:00
Xinchen Hui
241b1a7840 Revert "Fixed test fails (prop read always has a IS_STRING member now)"
This reverts commit 39913c4cdf.
2014-11-13 14:16:08 +08:00
Xinchen Hui
39913c4cdf Fixed test fails (prop read always has a IS_STRING member now) 2014-11-13 12:47:03 +08:00
Nikita Popov
df79b9b27a Update get_class_name semantics
* get_class_name is now only used for displaying the class name
   in debugging functions like var_dump, print_r, etc. It is no
   longer used in get_class() etc.
 * As it is no longer used in get_parent_class() the parent
   argument is now gone. This also fixes incorrect parent classes
   being reported in COM.
 * get_class_name is now always required (previously some places
   made it optional and some required it) and is also required
   to return a non-NULL value.
 * Remove zend_get_object_classname. This also fixes a number of
   potential leaks due to incorrect usage of this function.
2014-10-09 20:48:27 +02:00
Nikita Popov
b09acffc04 Remove PDORow get_class_entry handler 2014-10-09 15:23:14 +02:00
Nikita Popov
e5e9d8346f Remove zend_get_class_entry function 2014-10-09 14:17:30 +02:00
Dmitry Stogov
bd9a234645 Replaced EG(This) and EX(object) with EX(This).
Internal functions now recieves zend_execute_data as the first argument.
2014-10-03 19:32:46 +04:00
Johannes Schlüter
d0cb715373 s/PHP 5/PHP 7/ 2014-09-19 18:33:14 +02:00
Nikita Popov
8a9dd4a1d7 Fix GMP serialization
Also fix same issue in PDO.
2014-09-18 23:03:27 +02:00
Anatol Belski
2ace2d1b8a reduce struct size by 8 byte on 64 bit 2014-09-17 09:16:00 +02:00
Anatol Belski
101adecbcd reduce struct sizes by 8 bytes each on 64 bit 2014-09-14 11:13:17 +02:00
Nikita Popov
9ab8605f8b Release memory for PDO Stmt ctor args 2014-09-06 12:52:51 +02:00
Nikita Popov
6cceb54c09 Fix a number of format issues 2014-09-03 15:57:28 +02:00
Anatol Belski
3234480827 first show to make 's' work with size_t 2014-08-27 20:49:31 +02:00
Anatol Belski
af59e92b24 master renames phase 7 2014-08-25 21:51:49 +02:00
Anatol Belski
4d997f63d9 master renames phase 3 2014-08-25 20:22:49 +02:00
Anatol Belski
6f9f0bf205 master renames phase 2 2014-08-25 19:28:33 +02:00
Anatol Belski
c3e3c98ec6 master renames phase 1 2014-08-25 19:24:55 +02:00
Anatol Belski
70de6180d5 fixes to %pd format usage 2014-08-24 02:35:34 +02:00
Anatol Belski
b315af1d9f fix zpp 2014-08-21 15:44:23 +02:00
Anatol Belski
cd18b5884b Merge remote-tracking branch 'php/master' 2014-08-20 23:27:26 +02:00
Dmitry Stogov
8cda420ff4 Fixed ext/pdo_*/tests/pdo_005.phpt tests failure 2014-08-20 23:28:32 +04:00
Anatol Belski
66e7090e61 Merge remote-tracking branch 'php/master' 2014-08-20 18:19:37 +02:00
Dmitry Stogov
c1b5fde606 Reverted incorrectly changed test. Now it's the same as in PHP-5.6. 2014-08-20 12:03:47 +04:00
Anatol Belski
92269d25a3 ported pdo and pdo_sqlite 2014-08-19 18:32:08 +02:00
Anatol Belski
63d3f0b844 basic macro replacements, all at once 2014-08-19 08:07:31 +02:00
Anatol Belski
41115d3d9d regenerated parser files 2014-08-17 21:05:20 +02:00
Xinchen Hui
d790eceb01 Fixed version id 2014-08-16 16:44:02 +08:00
Xinchen Hui
bde56debe5 Better version checking 2014-08-15 18:41:01 +08:00
Dmitry Stogov
7435fc88a6 Fixed pdo_firebird tests failures 2014-08-11 23:56:34 +04:00
Dmitry Stogov
1dd07d6bf4 Partial fix that allows internal constructors to set $this to null.
The address of $this passed to drectly called internal constructor in execute_data->return_value.
Internal constructors should use ZEND_CTOR_MAKE_NULL() macro (insted of previous ZEND_NULL(EG(This))) to do the work.

This patch doesn't fix the problem for indirectly called constructors. e.g. parant::__construct().
2014-07-09 11:57:42 +04:00
Dmitry Stogov
2ed8a17045 Refactored run_time_cache usage in object handlers 2014-07-07 20:54:31 +04:00
Xinchen Hui
ee30cc8a1e Fixed use of uninitialized value 2014-06-24 00:03:02 +08:00
Xinchen Hui
b42f0ce5c4 Fixed segfault (we need to close it for it has referenced by somewhere) 2014-06-23 17:00:18 +08:00
Xinchen Hui
2a06902488 Fixed compiler warning 2014-06-23 15:48:19 +08:00
Xinchen Hui
c135ca0a9d Actually, I don't know how it works. (maybe I should re-start again :<) 2014-06-23 15:35:53 +08:00
Xinchen Hui
80108a1607 Fixed PDO_PARAM_ZVAL 2014-06-20 11:40:53 +08:00
Dmitry Stogov
b108267f2c Merge branch 'master' into phpng
* master: (41 commits)
  Update copyright year to 2014
  Update copyright year to 2014
  Update copyright year to 2014
  Update copyright year to 2014
  Update copyright year to 2014
  Update copyright year to 2014
  Update copyright year to 2014
  NEWS
  Fix Request #67453 Allow to unserialize empty data.
  Update copyright year to 2014
  Update copyright year for re2c generated files
  Update copyright year to 2014
  Update copyright year for re2c files as well
  Fix patch for bug #67436
  fix failed test
  Fix test on modern distro where old unsecure algo are disabled in openssl config. Testing recent algo should be enough to check this function.
  Added tests for bug 67436
  Fixed wrong XFAIL test - already fixed
  Fix typo in Bug #67406 NEWS entry
  Fix typo in Bug #67406 NEWS entry
  ...

Conflicts:
	Zend/zend_compile.c
	ext/session/session.c
	ext/standard/array.c
	ext/standard/http_fopen_wrapper.c
	tests/classes/bug63462.phpt
2014-06-18 17:50:27 +04:00
Lior Kaplan
11b18347d8 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Update copyright year for re2c generated files
  Update copyright year to 2014
  Update copyright year for re2c files as well
2014-06-16 23:32:10 +03:00
Lior Kaplan
c38b73a701 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Update copyright year for re2c generated files
  Update copyright year to 2014
  Update copyright year for re2c files as well
2014-06-16 23:30:44 +03:00
Lior Kaplan
e667d23178 Update copyright year for re2c files as well 2014-06-16 23:26:50 +03:00
Dmitry Stogov
864aa7746f Fixed refcounting 2014-05-28 01:28:38 +04:00
Xinchen Hui
9fa9da4831 Finished persistent PDO implement 2014-05-26 14:17:45 +08:00
Xinchen Hui
e1317ed517 Refactored ext/ldap 2014-05-20 11:26:26 +08:00
Xinchen Hui
204e580fcd Fixed Hash API usage 2014-05-18 20:25:07 +08:00
Xinchen Hui
af3829608d Fixed Hash API usage 2014-05-18 20:23:26 +08:00
Xinchen Hui
4ababc3a41 Fixed Hash API usage (it's in comments) 2014-05-18 12:09:14 +08:00
Pierre Joye
5939345fd5 Merge branch 'phpng' of git.php.net:php-src into phpng
# By Dmitry Stogov (5) and Xinchen Hui (3)
# Via Xinchen Hui (3) and Dmitry Stogov (2)
* 'phpng' of git.php.net:php-src:
  Fixed signed
  Refactoring socket (only compilable now)
  it make no sense to create a reference to object
  Initialize zvals
  Fixed <any> with XML references
  Refactored shmop
  Fixed pointer mess (use * instead of **)
  Fixed support for XML references
2014-05-17 05:42:00 +02:00
Pierre Joye
9b44d687df fix zend_hash_get_current_data_ptr_ex call 2014-05-17 05:41:21 +02:00
Xinchen Hui
a4a1fc5552 Fixed signed 2014-05-17 10:28:54 +08:00
Pierre Joye
8a2a9379cf used only in the #ifdef 0 2014-05-15 20:09:49 +02:00
Xinchen Hui
49df66be01 Made a little clean up 2014-05-15 22:33:13 +08:00