Markus Fischer [Sat, 5 Jan 2002 23:50:59 +0000 (23:50 +0000)]
- Refuse attribute nodes on add_child() and add list destructor for PI
nodes. (Christian Stocker)
- Fix append_child() according to add_child().
- Fix some protos, minor code and warning message cosmetics.
jim winstead [Sat, 5 Jan 2002 23:49:58 +0000 (23:49 +0000)]
More tweaking of wordwrap() with the cut parameter set. It was being a
little too aggressive and cutting words without breaking at spaces
first. (A couple of tests were incorrect.)
jim winstead [Sat, 5 Jan 2002 20:46:43 +0000 (20:46 +0000)]
New memcpy()-based wordwrap() implementation. The simple case
(single-character break, no forced break) appears to be about 60%
faster, and there's simply no comparison for non-simple cases with
non-trivial amounts of text. The old algorithm was O(n^2) (with an
unfortunately large constant factor) because of the use of strncat(),
the new one is O(n). Added some more tests, too.
@ - Made wordwrap() significantly faster. (Jim)
# test case: $t = join('',file('ChangeLog')); $w = wordwrap($t,10,"\n",1);
# new code completes in less than a second. i'm still waiting for the
# old code to finish.
jim winstead [Sat, 5 Jan 2002 03:45:11 +0000 (03:45 +0000)]
Fixed pow(), and added finite(), isinf(), and isnan(). Also fixed
pow() tests.
@- Fixed pow(), and added finite(), isinf(), and isnan(). (Jim)
# Jeroen was on crack, and apparently flunked arithmetic. Names of new
# functions subject to change if people get persnickety about them.
# (They're currently the same as the underlying C library function
# names. Hope nobody forgets to update the tests if they change the
# names.)
# Oh, and pow() uses the new parameter-passing API now.
jim winstead [Sat, 5 Jan 2002 01:59:11 +0000 (01:59 +0000)]
Be more aggressive in making sure that substring matches are valid in
ereg_replace before trying to use them.
# i could have sworn i fixed this in php3. ereg() has similar logic, i
# guess i just missed ereg_replace. fixing this lets
# ext/standard/tests/reg/012.phpt pass on my debian/unstable box
jim winstead [Fri, 4 Jan 2002 19:48:08 +0000 (19:48 +0000)]
Fixed segfault in wordwrap() when wrapping to zero width and using
multi-character break or trying to force cut (bug #12768, now fails
and issues a warning because forcing a zero-width cut doesn't make
sense). Also converted to new paramater-passing API and avoid making
an extra copy of the return values.
# also added tests.
@- Fixed segfault in wordwrap() when wrapping to zero width and using
@ multi-character break or trying to force cut (bug #12768). (Jim)
Andi Gutmans [Fri, 4 Jan 2002 08:05:21 +0000 (08:05 +0000)]
- Separate other kinds of function calls too.
- Significantly improve performance of function calls by moving lowercasing
- the function name to compile-time when possible.
make configure more robust if extensions add libraries without
checking for their existance first
old behaviour was to fail on the next library check with misleading
messages, now configure will work but make will fail with a
'lib not found' message
Markus Fischer [Tue, 1 Jan 2002 22:15:22 +0000 (22:15 +0000)]
- Switched to zend_parse_parameters(), unified error/warning messages,
use real resources instead of integers, adjusted prototypes (hope I got
them all).
Vlad Krupin [Mon, 31 Dec 2001 12:52:34 +0000 (12:52 +0000)]
Now dbase_pack() actually truncates the resulting .dbf file to the right
size (possibly fixing bug #6852 #3).
@Make dbase_pack() truncate the file to the right size. (Vlad)
Vlad Krupin [Mon, 31 Dec 2001 10:23:30 +0000 (10:23 +0000)]
Verified and fixed bug 6852 #2. Now memo fields are 10 butes long, not 9.
That does not seem to affect how the code works except when creating a new
structure, in which case 'M' fields used to get created with size 9.
@Fixed bug 6852 #2. Mem fields are now 10 bytesin size, not 9. (Vlad)
Vlad Krupin [Mon, 31 Dec 2001 09:13:08 +0000 (09:13 +0000)]
Verified and fixed bug 6852 #1. No more null byte after terminating 0x0D.
Verified that the problem is real when creating new files and writing
a record. Both fixed and old versions seem to be able to somehow read
and write already existing files properly though.
@Fixed bug 6852 #1. No more null byte after terminating 0x0D. (Vlad)
Derick Rethans [Sat, 29 Dec 2001 20:59:59 +0000 (20:59 +0000)]
- Added extra parameter to count() that recursively counts elements in an
array and added is_array_multidimensional(). (patch by Vlad Bosinceanu
<glipy@fx.ro>)