Hi Dmitry,

I just commited some additional changes, following your suggestions :

- Renamed every ‘zend_string_xxx()’ functions to ‘ZSTR_’-prefixed uppercase 
names,
- Defined compatibility macros for old names
- Changed the rest of the code to use new ZSTR_ names
- A special case for zend_string_tolower(), which I found in 
‘zend_operators.c’. I renamed it but didn’t move it to zend_string.c/.h. You 
probably know better than me if there’s a good reason to define it there or if 
it should be moved.

I also made ZSTR_LEN() read-only (ZSTR_SET_LEN() must be used for write 
operations), making the zend_string API ‘clean’ in terms of separate 
getters/setters (Z_STRLEN() remains a read-write macro, no BC break here).

I removed the functions you removed. Anyway, increment/decrement functions will 
need to be defined when we migrate the code to use the API only because the 
code often increments/decrements string length. As ZSTR_LEN() is read-only, we 
cannot use ‘++’ with it, and providing increment/decrement functions at the 
zend_string level is the only way to avoid writing ‘ZSTR_SET_LEN(s,ZSTR_LEN(s) 
+ 1)’.

I hope we (and especially you) still have enough time to integrate this, 
especially the new ‘ZSTR’ naming scheme. Anyway, I’m glad you could commit the 
most important additions for 7.0.

Regards

François


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to