free(rv);
PRBool test_006(void){    static const char *array[] =    {        (const char *)0,        "",        "a",        "abcdefg"    };    int i;    printf("Test 006 (PL_strdup)      ..."); fflush(stdout);    for( i = 0; i < sizeof(array)/sizeof(array[0]); i++ )    {        char *rv = PL_strdup(array[i]);        if( (char *)0 == rv )        {            printf("FAIL %d: 0x%x -> 0\n", i, array[i]);            return PR_FALSE;        }        if( (const char *)0 == array[i] )        {            if( (char)0 != *rv )            {                printf("FAIL %d: (const char *)0 -> %.32s\n", i, rv);                return PR_FALSE;            }        }        else        {            const char *a = array[i];            const char *b = (const char *)rv;            while( 1 )            {                if( *a != *b )                {                    printf("FAIL %d: %s != %.32s\n", i, array[i], rv);                    return PR_FALSE;                }                if( (char)0 == *a ) break;                a++;                b++;            }            free(rv);        }    }    printf("PASS\n");    return PR_TRUE;}