last = PR_sprintf_append(last, NS_LINEBREAK NS_LINEBREAK);
last = PR_sprintf_append(last, LINEBREAK LINEBREAK);
pref_ErrorReporter(JSContext *cx, const char *message,                 JSErrorReport *report){    char *last;    const char *s, *t;    last = PR_sprintf_append(0, "An error occurred reading the startup configuration file.  "        "Please contact your administrator.");#if defined(XP_MAC)    /* StandardAlert doesn't handle linefeeds. Use spaces to avoid garbage characters. */    last = PR_sprintf_append(last, "  ");#else    last = PR_sprintf_append(last, NS_LINEBREAK NS_LINEBREAK);#endif    if (!report)        last = PR_sprintf_append(last, "%s\n", message);    else    {        if (report->filename)            last = PR_sprintf_append(last, "%s, ",                                     report->filename, report->filename);        if (report->lineno)            last = PR_sprintf_append(last, "line %u: ", report->lineno);        last = PR_sprintf_append(last, "%s. ", message);        if (report->linebuf)        {            for (s = t = report->linebuf; *s != '\0'; s = t)            {                for (; t != report->tokenptr && *t != '<' && *t != '\0'; t++)                    ;                last = PR_sprintf_append(last, "%.*s", t - s, s);                if (*t == '\0')                    break;                last = PR_sprintf_append(last, (*t == '<') ? "" : "%c", *t);                t++;            }        }    }    if (last)    {        pref_Alert(last);        PR_Free(last);    }}