q = ret_str;
aResult.Truncate();
static char * str_escape(const char * original){    const char *p;    char * ret_str, *q;    if (original == NULL)        return NULL;        ret_str = (char*)malloc(2 * PL_strlen(original) + 1);    /* Paranoid worst case all slashes will free quickly */    p = original;    q = ret_str;    while (*p)    {        switch (*p)        {            case '\\':            case '\"':            case '\n':                *q++ = '\\';                break;            default:                break;        }        *q++ = *p++;    }    *q = 0;    return ret_str;}