void assembler::compile_seterror(const func_binary & fb, command cmd, efkerror err, const char *fmt, ...) { char errorstr[512]; va_list ap; va_start(ap, fmt); vsnprintf(errorstr, sizeof(errorstr) - 1, fmt, ap); va_end(ap); errorstr[sizeof(errorstr) - 1] = 0; seterror(m_fk, err, FUNC_BINARY_FILENAME(fb), FUNC_BINARY_LINENO(fb, m_pos), FUNC_BINARY_NAME(fb), "assembler %llu, %s", cmd, errorstr); }
FAKE_API int fkgetfuncstartline(fake * fk, const char * func) { variant funcv; V_SET_STRING(&funcv, func); const funcunion * f = fk->fm.get_func(funcv); if (f && f->havefb) { return FUNC_BINARY_LINENO(f->fb, 0); } return 0; }