Skip to content

String size refactor take 2 next wave #7

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

weltling
Copy link

patched the following

  • ext/zlib
  • ext/iconv
  • ext/mbstring
  • ext/intl

Fixed internal ext/pcre functions to work with zend_str_size and consequently the usage in SPL.Some other small fixes are there for CLI, datetime, etc. Regarding PCRE it uses int, so we should thing about submitting a patch or at least filing a bug to PCRE itself to fix that.

The ext/intl should be reviewed though as ICU works with int32_t for string sizes. Also it contains things like the stollen ascii substr implementation (from ext/standard). As of now it works, may be it can wait until we integrate int64.

nikic and others added 30 commits August 22, 2013 10:56
The code violated the strict aliasing restriction, because it
dereferenced the same pointer as zval** once and as void**
afterwards. Now both occurances dereference void** and cast to
zval* in the former case.
Turns out that you can't use implicit void pointer casts if intl
is compiled.
Third try to make this work...
* PHP-5.4:
  Fixed other compiler warnings
* PHP-5.5:
  Fixed other compiler warnings
And that actually seems to be it, all tests pass so far. So lets
see how it goes in the fture, too easy but seems to be done for now .
…‘_efree’ discards qualifiers from pointer target type""

This reverts commit f38bd22.
…‘_efree’ discards qualifiers from pointer target type""

This reverts commit f38bd22.
…‘_efree’ discards qualifiers from pointer target type""

This reverts commit f38bd22.
… discards qualifiers from pointer target type"
* PHP-5.4:
  Suppress compliation warning "warning: passing argument 1 of ‘_efree’ discards qualifiers from pointer target type"
  Revert "Suppress compliation warning "warning: passing argument 1 of ‘_efree’ discards qualifiers from pointer target type""
* PHP-5.5:
  Suppress compliation warning "warning: passing argument 1 of ‘_efree’ discards qualifiers from pointer target type"
  Revert "Suppress compliation warning "warning: passing argument 1 of ‘_efree’ discards qualifiers from pointer target type""
  Revert "Suppress compliation warning "warning: passing argument 1 of ‘_efree’ discards qualifiers from pointer target type""
Now only the flaw is pcrelib itself as it works with int for
string length and offsets. Bigger stuff won't work anyway, but
if there are some issue there are just a few places like pcre_exec()
where we can explicitly cast to int.
* PHP-5.5:
  ensure the test doesn't fail because of tz warning
ircmaxell added a commit that referenced this pull request Aug 27, 2013
String size refactor take 2 next wave
@ircmaxell ircmaxell merged commit c799ce7 into ircmaxell:string_size_refactor_take_2 Aug 27, 2013
krakjoe added a commit that referenced this pull request Apr 25, 2014
Workaround for opcache clearing symbol table
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants