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

Reply via email to