obj = fp->fun->object;
obj = fp->fun ? fp->fun->object : NULL;
js_NewPrinter(JSContext *cx, const char *name, uintN indent){    JSPrinter *jp;    JSStackFrame *fp;    JSObject *obj;    JSObjectMap *map;    jp = JS_malloc(cx, sizeof(JSPrinter));    if (!jp)	return NULL;    INIT_SPRINTER(cx, &jp->sprinter, &jp->pool, 0);    PR_InitArenaPool(&jp->pool, name, 256, 1);    jp->indent = indent;    jp->script = NULL;    jp->scope = NULL;    fp = cx->fp;    if (fp && fp->scopeChain) {	obj = fp->scopeChain;	map = obj->map;	if (map->ops == &js_ObjectOps) {	    if (OBJ_GET_CLASS(cx, obj) == &js_CallClass) {		obj = fp->fun->object;		if (obj)		    map = obj->map;	    }	    jp->scope = (JSScope *)map;	}    }    return jp;}