Mercurial > hg-old > index.cgi
view src/lwasm.c @ 26:d2e86babd958
Added error tracking infrastructure
author | lost |
---|---|
date | Fri, 02 Jan 2009 02:38:02 +0000 |
parents | 05d4115b4860 |
children | f736579569b4 |
line wrap: on
line source
/* lwasm.c Copyright © 2008 William Astle This file is part of LWASM. LWASM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Contains random functions used by the assembler */ #define __lwasm_c_seen__ #include <stdarg.h> #include <stdlib.h> #include <stdio.h> #include "lwasm.h" #include "util.h" int register_error(asmstate_t *as, lwasm_line_t *l, int pass, const char *fmt, ...) { lwasm_error_t *e; va_list args; char errbuff[1024]; int r; if (as -> passnum != pass) return; va_start(args, fmt); e = lwasm_alloc(sizeof(lwasm_error_t)); e -> next = l -> err; l -> err = e; as -> errorcount++; r = vsnprintf(errbuff, 1024, fmt, args); e -> mess = lwasm_strdup(errbuff); va_end(args); return r; }