ID: 40693 User updated by: stefan dot teleman at gmail dot com Reported By: stefan dot teleman at gmail dot com Status: Wont fix Bug Type: Strings related Operating System: * PHP Version: 5.2.1 New Comment:
Exactly what features or specific functionality does your strtok_r provide that strtok_r implementations from Solaris or Linux or BSD or Windows do not ? None. If you have identified a bug in any of these implementations of strtok_r(3C), please identify the bug. Duplicating Standard C Library all over the place just because "it doesn't crash anymore if I do this" is not really a valid justification. Thank you. Stefan Teleman Previous Comments: ------------------------------------------------------------------------ [2007-03-02 19:58:11] [EMAIL PROTECTED] Usually reimplementation of a c library function means that we rely on very specific functionality. Otfen in this cases many implementations are simply plain wrong. This is true for a bunch of stuff where werequire the C99 compliant implementation. ------------------------------------------------------------------------ [2007-03-02 17:22:40] stefan dot teleman at gmail dot com Description: ------------ TSRM/tsrm_strtok_r.c reimplements strtok_r(3C) (php-5.2.0 and php-5.2.1). Please don't do this on Solaris. There is no reason to reimplement a Standard C Library function. diff -wu output included below. Reproduce code: --------------- --- tsrm_strtok_r.c.orig 2000-09-11 11:15:29.000000000 -0400 +++ tsrm_strtok_r.c 2007-03-02 03:25:44.953128000 -0500 @@ -16,6 +16,9 @@ char *tsrm_strtok_r(char *s, const char *delim, char **last) { +#if defined(SOLARIS) + return strtok_r(s, delim, last); +#else char *token; if (s == NULL) { @@ -41,6 +44,7 @@ *last = s + 1; } return token; +#endif } #if 0 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=40693&edit=1