Re: Simple question
| From: | Andrey Hristov | Date: | Mon, 30 Jun 2003 16:52:04 +0000 |
| Subject: | Re: Simple question | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-3052@lists.php.net to get a copy of this message | ||
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
> 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
>
>
>
>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>