Marcus Boerger
a389286b99
Set the params in the struct
2003-09-01 15:09:57 +00:00
Marcus Boerger
c7f1c2f74f
Invalidate exception in this case too
2003-09-01 13:05:50 +00:00
Marcus Boerger
1257b407a6
WS
2003-09-01 13:04:55 +00:00
ff647c501f
ChangeLog update
2003-09-01 00:31:37 +00:00
Marcus Boerger
4506d4ea24
Don't repeat first const count(consts) time
2003-08-31 15:47:48 +00:00
Marcus Boerger
660c14e74a
Beautify output
2003-08-31 15:30:13 +00:00
Marcus Boerger
4af0621036
Add reflection_parameters, patch by Timm Friebe
2003-08-31 15:06:54 +00:00
Marcus Boerger
f9ee319152
Excluded chars < 32 when displaying string parameters that would obliterate output.
2003-08-31 12:40:29 +00:00
Zeev Suraski
f1b80b9210
Attempt at fixing the linkage problem in Win32
2003-08-31 12:38:50 +00:00
Marcus Boerger
fb4a63a07d
Synch error message with other one to fix tests
2003-08-31 11:38:31 +00:00
Marcus Boerger
8376b7eff7
Check whether we may access tat union
2003-08-31 11:21:30 +00:00
Marcus Boerger
d15ad4609d
Revisited: Replace the non portable code by spprintf
2003-08-31 10:52:23 +00:00
Marcus Boerger
ade319ac54
Using zend_spprintf should be faster here
2003-08-31 10:06:13 +00:00
Marcus Boerger
d45fd8a1b1
Make vspprintf available as zend utility function. Use it in exception output.
2003-08-31 09:35:54 +00:00
c9a69abe25
ChangeLog update
2003-08-31 00:31:46 +00:00
Marcus Boerger
00fddc9b83
Actually fetch the parameter
2003-08-30 23:55:04 +00:00
Marcus Boerger
f1c92fa4c5
- Calling abstract methods should be a error for consistency reason.
...
- So in reflection_api we use the reflection_exception again.
2003-08-30 23:51:42 +00:00
Marcus Boerger
80c0cdf7f7
Even though it is ignored this should be correct
2003-08-30 19:01:10 +00:00
Marcus Boerger
655f2dc572
Add frame numer and finally display stack trace in the message.
...
#
# And voila - nice useable and helpfull exceptions in PHP.
# Now we need to tell ppl 'anyway don't use them if possible'.
#
2003-08-30 18:58:40 +00:00
Marcus Boerger
c80eb4573f
Add exception::traceAsString() and exception::toString()
2003-08-30 18:28:24 +00:00
Marcus Boerger
6c69b28790
fci.function_table & fci.function_name are not needed since we use zend_fcall_info_cache
2003-08-30 13:47:27 +00:00
Marcus Boerger
e679504861
Be precise
2003-08-30 13:38:23 +00:00
Marcus Boerger
49a538d054
Actually using fcc would be a good idea
2003-08-30 12:58:35 +00:00
Marcus Boerger
f7f49e4584
- The compiler can't detect all abstract function calls so we need to check.
...
# In this case throwing a dedicated exception is better than the error we
# show when the compiler can detect the abstract call because its run-time.
2003-08-30 11:40:37 +00:00
Marcus Boerger
ad31a021bc
Make those final (see comment)
2003-08-30 11:33:41 +00:00
707accd337
ChangeLog update
2003-08-30 00:31:40 +00:00
Marcus Boerger
047a574e6c
- Add zend_merge_properties() which is designed to serve *_fetch_object().
...
- Explain drawbacks of object_and_properties_init and zend_merge_properties.
#
# I guess we can live with the purity problem of potentially calling __set()
# of an object which wasn't already ctored.
#
2003-08-29 23:27:22 +00:00
Marcus Boerger
50040c8ae9
- Use zend_fcall_info_cache in invoke() to improve speed.
...
# This also fixes the problem with calling static methods.
2003-08-29 21:46:12 +00:00
Zeev Suraski
aaa1cdca31
Fix a problem in implicit public properties and inheritance
2003-08-29 08:51:43 +00:00
Sascha Schumann
dcfb7638bc
improve a number of zend_debug format strings
2003-08-29 07:34:37 +00:00
a92363f694
ChangeLog update
2003-08-29 00:31:41 +00:00
Marcus Boerger
bdd2d4aacf
Need to tell zend_fetch_debug_backtrace() whether to skip top function or not.
...
# And i wondered why the trace wasn't rally accurate.
2003-08-29 00:16:00 +00:00
Marcus Boerger
b3f3ddd1b5
Add public read access to protected
2003-08-28 23:43:56 +00:00
Marcus Boerger
fa70708d15
Add zend_throw_exception_ex() which allows to format exception messages.
...
#
# Since we don't have any portable way of printing into a dynamic buffer i
# used a stack buffer of 1K (just like the error printing) and used a dynamic
# buffer in case the necessary function is available.
#
2003-08-28 22:56:41 +00:00
Marcus Boerger
12376a2270
Classe tables work this way
2003-08-28 22:53:24 +00:00
Marcus Boerger
8d3620aea8
- Split debug_backtrace() into lowlevel c function and php function wrapper
...
- Add trace property to default method based on new zend_fetch_debug_backtrace
# Unforunatley the handler for uncaught exception can't show this backtrace
# simply because there is currently no way to do it. If i can think of a
# solution i'll add it. Until them i am open to any ideas/help.
2003-08-28 20:35:54 +00:00
Sascha Schumann
744c68e447
older gccs don't understand attribute((format)) on function pointers
2003-08-28 17:31:31 +00:00
Sascha Schumann
83bd1f4398
ZEND_GCC_VERSION should always be defined to a number so we can use
...
simple comparisons all the time.
2003-08-28 17:04:16 +00:00
Sascha Schumann
2e36578cfd
Add format attribute to a number of functions
...
Kill a few warnings
2003-08-28 16:41:20 +00:00
Sascha Schumann
169d43e5fa
cleanup & centralize ZEND_GCC_VERSION and ZEND_ATTRIBUTE_MALLOC so that
...
they can be used by downstream applications
2003-08-28 14:53:02 +00:00
Sascha Schumann
f065aba3ba
Enable attribute((malloc)) for GCC 2.96
2003-08-28 11:55:39 +00:00
Sascha Schumann
6d7e56a0c8
GCC 2 does not know about malloc yet.
2003-08-28 06:17:05 +00:00
Sascha Schumann
cf1f6e3c4c
provide attribute((malloc)) where appropiate
2003-08-28 05:50:15 +00:00
8a00475722
ChangeLog update
2003-08-28 00:32:00 +00:00
Marcus Boerger
43836e97c5
Nuke unused variable
...
# I should have taken Timm's patch
2003-08-27 20:48:41 +00:00
Marcus Boerger
7f5196953c
Fix reflection_class::newInstance()
2003-08-27 20:45:34 +00:00
e01eddf01d
ChangeLog update
2003-08-26 00:32:02 +00:00
foobar
28447d62da
- Fixed bug #25240 (spaces before pre-processor directives)
2003-08-25 23:24:29 +00:00
15592ba096
ChangeLog update
2003-08-25 00:32:07 +00:00
Marcus Boerger
f9cebab0cb
Add missing check
2003-08-24 22:45:59 +00:00
Marcus Boerger
9603e44eb6
Fix memory source of string duplication for non internal properties
2003-08-24 18:47:11 +00:00
Marcus Boerger
19ec7a09fc
- Provide appropriate way to destroy internal zval's.
...
- Allow internal zval's of type string and disallow complex types.
- Define the default string for extensions at class level instead of ctor.
2003-08-24 17:32:47 +00:00
Marcus Boerger
cec053f707
Don't identify alias'ed functions
2003-08-24 16:35:58 +00:00
Zeev Suraski
ea36fc4143
Use ""'s if you want empty strings. We want to crash on errors.
2003-08-24 16:27:01 +00:00
Zeev Suraski
a9107e2be1
Use pemalloc()
2003-08-24 16:17:45 +00:00
Marcus Boerger
b84e9db3b8
Allow NULL, too
2003-08-24 16:13:23 +00:00
Zeev Suraski
0ac5bbd780
Never, ever, overwrite the refcount element of a connected zval!
2003-08-24 15:59:19 +00:00
Marcus Boerger
e44d0f526c
Add dedicated reflection_exception
2003-08-24 15:07:54 +00:00
Marcus Boerger
4e5e7502b8
Allow to throw instances of classes derived from exception
2003-08-24 15:07:00 +00:00
Marcus Boerger
d3473d1f58
- Provide a unified way to display uncaught exceptions, which shows
...
file/line/message info if possible.
- Add zend_eval_string_ex() to be able to handle exceptions in eval'd code.
- Use above function to fix memleaks in CLI.
2003-08-24 13:10:03 +00:00
Marcus Boerger
669603f69d
Make invoke() work
2003-08-24 12:07:13 +00:00
Marcus Boerger
96d4ac7a3f
zend_parse_parameters 'O' works the way we need here
2003-08-24 11:34:01 +00:00
Marcus Boerger
418a7f980c
Not needed
2003-08-24 11:28:53 +00:00
Marcus Boerger
d4cf96c524
Make use method macros
2003-08-24 11:25:08 +00:00
Marcus Boerger
eef1b7b1e8
One of PPP is needed, too
2003-08-24 11:24:10 +00:00
Marcus Boerger
bd07968bef
- Add Reflection_Function::isAlias
...
- Use ZEND_ME/ZEND_METHOD
- Fix static entries
2003-08-24 11:11:55 +00:00
Marcus Boerger
1c2512ddea
- Add fn_flag ZEND_ACC_ALIAS
...
- Unify way of function_entry generation by new macro ZEND_FENTRY
2003-08-24 11:09:45 +00:00
Marcus Boerger
3605be8a29
Fix fn_flags handling
2003-08-24 11:07:30 +00:00
Marcus Boerger
38805f2809
Add property read code and use that in default exception class
2003-08-24 00:36:53 +00:00
b8799ff085
ChangeLog update
2003-08-24 00:32:03 +00:00
Marcus Boerger
c3d60fd7ff
Allow zend_throw_exception() to also set the exception code
2003-08-23 19:48:52 +00:00
Marcus Boerger
96fa63d6bf
Exception has 4 protected default properties (message,code,file,line).
...
They are all initialized at c-level constructor correctly.
2003-08-23 19:41:22 +00:00
Marcus Boerger
baaa4c903d
Internal classes can now have default properties.
2003-08-23 19:37:39 +00:00
Marcus Boerger
5e77dc44dc
Show ctor/dtor information and those don't return anything
2003-08-23 15:47:23 +00:00
Marcus Boerger
fbda310a41
- Flag ctor/dtor methods
...
- Use this to prevent memleaks when an exception gets thrown in ctors.
# I added the dtor flags for consistency, atm a compareable check in
# isn't necessary for destruction. But anyway i'll use this for the
# Relection API too.
2003-08-23 15:38:58 +00:00
Marcus Boerger
43334207ab
Make exception code more robust
2003-08-23 14:22:28 +00:00
d696f1267a
ChangeLog update
2003-08-23 00:31:15 +00:00
Ilia Alshanetsky
f94b536bc8
Replace *magic number* with a much nicer define.
2003-08-22 18:50:12 +00:00
Ilia Alshanetsky
c29e30d3af
Set 2147483647 as the module number of user defined constants
...
Fixed a few bugs and cleaned up get_defined_constants().
2003-08-22 02:08:10 +00:00
d963f8fea3
ChangeLog update
2003-08-22 00:31:48 +00:00
Marcus Boerger
0e32aaa8c6
Add function 'zend_throw_exception(char *message, int duplicate TSRMLS_DC);'
...
to provide an easy way to throw exceptions for extension developers.
2003-08-21 23:32:13 +00:00
Marcus Boerger
fda38bf2ff
If ce not given than any object would do
2003-08-21 15:24:33 +00:00
Marcus Boerger
80b3498839
Paramspec 'O' / zend_parse_method_params(): only if given check the class type
2003-08-21 14:39:17 +00:00
a060bc75c7
ChangeLog update
2003-08-21 00:31:53 +00:00
Zeev Suraski
1e70f45112
adhere to silence
2003-08-20 23:27:04 +00:00
Marcus Boerger
56e8757d77
Fix counting number of leaks
2003-08-20 22:15:01 +00:00
90150d8625
ChangeLog update
2003-08-20 00:31:10 +00:00
Wez Furlong
1a40feb965
fix build
2003-08-19 01:15:47 +00:00
81ec251619
ChangeLog update
2003-08-19 00:30:59 +00:00
Wez Furlong
ef498a27b8
linkage for C++
2003-08-18 23:19:27 +00:00
Zeev Suraski
6ab9c1a336
Prevent access to internal engine functionality
2003-08-18 23:11:58 +00:00
Zeev Suraski
49c4866a47
- Improve tracking
...
- Fix several overloading issues
2003-08-18 22:31:11 +00:00
Zeev Suraski
0dba58c373
Improve tracking
2003-08-18 21:17:26 +00:00
Zeev Suraski
76aaeebdf0
Improve tracking
2003-08-18 20:44:12 +00:00
Zeev Suraski
b5786d4220
ws
2003-08-18 20:43:09 +00:00
4863dd5323
ChangeLog update
2003-08-18 00:31:11 +00:00
Marcus Boerger
744dd20520
Fix warnings
2003-08-17 19:14:30 +00:00
Marcus Boerger
717b5afe1d
Fix warnings
2003-08-17 18:56:54 +00:00
Sascha Schumann
602d1b0045
One bit fields need to be unsigned, otherwise there is no storage for
...
the sign bit
"A signed bit field has a length of 1 bit."
2003-08-17 13:49:52 +00:00
Sascha Schumann
c7d9be97ca
explicitly cast size_t to zend_uint to avoid warnings on 64 bit platforms.
2003-08-17 13:45:51 +00:00