warning = JSREPORT_IS_WARNING(reportp->flags); if (warning && JS_HAS_WERROR_OPTION(cx)) { reportp->flags &= ~JSREPORT_WARNING; warning = JS_FALSE; } return warning;
js_ReportErrorVA(JSContext *cx, uintN flags, const char *format, va_list ap){    JSStackFrame *fp;    JSErrorReport report, *reportp;    char *last;    fp = cx->fp;    /* Walk stack until we find a frame that is associated with       some script rather than a native frame. */    while (fp && (!fp->script || !fp->pc))        fp = fp->down;    if (fp) {	report.filename = fp->script->filename;	report.lineno = js_PCToLineNumber(fp->script, fp->pc);	/* XXX should fetch line somehow */	report.linebuf = NULL;	report.tokenptr = NULL;        report.uclinebuf = NULL;        report.uctokenptr = NULL;	report.flags = flags;        report.errorNumber = 0;        report.ucmessage = NULL;        report.messageArgs = NULL;	reportp = &report;    } else {	/* XXXshaver still fill out report here for flags? */	reportp = NULL;    }    last = JS_vsmprintf(format, ap);    if (!last)	return;    js_ReportErrorAgain(cx, last, reportp);    free(last);}