Simple question

php.internals

Oriol

23 years ago
Hello! I'm trying to write a trim function which expects a zval* of type string, as follows: int zstrtrim(zval *z) { char *ptr1 = Z_STRVAL_P(z), *ptr2; if (Z_STRLEN_P(z) == 0) return; ptr2 = &ptr1[Z_STRLEN_P(z)-1]; while (*ptr1 != 0) { if (*ptr1 > ' ') break; ptr1++; } while (ptr2 > ptr1) { if (*ptr2 > ' ') break; ptr2--; } ZVAL_STRINGL(z, ptr1, ptr2 - ptr1 + 1, 1); } However, the last line gives me a segmentation fault. Why? How can I change the value of the input zval string? Thank you for your patience! Oriol

Andrey Hristov

23 years ago
Oriol, try valgrind (aka memory checker) and you will hopefully find where your problem resides Andrey ----- Original Message ----- From: "Oriol" <omagrane@anthill.es> To: <internals@lists.php.net> Sent: Monday, June 30, 2003 7:13 PM Subject: [PHP-DEV] Simple question
> > Hello! I'm trying to write a trim function which expects a zval* of
type