diff options
author | Peter Johnson <peter@tortall.net> | 2007-09-08 02:13:25 +0000 |
---|---|---|
committer | Peter Johnson <peter@tortall.net> | 2007-09-08 02:13:25 +0000 |
commit | 1387e29705d5ce24584b8846a5c4e197ed55ad5a (patch) | |
tree | 5904a9e7038be37beca27d1bec08a8768bf62fb7 /tools | |
parent | 1afb23f689413aed8655cbe9d0d11bf90805254b (diff) | |
download | yasm-1387e29705d5ce24584b8846a5c4e197ed55ad5a.tar.gz |
Windows build fixes:
* modules.vcproj: Add x86cpu.c, x86regtmod.c, and lc3b arch files to fix build.
* x85geninsn.c: Clean up a couple of unused variables.
* genperf.c: Use sprintf instead of snprintf; convert filename backslashes to slashes.
svn path=/trunk/yasm/; revision=1932
Diffstat (limited to 'tools')
-rw-r--r-- | tools/genperf/genperf.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/tools/genperf/genperf.c b/tools/genperf/genperf.c index 7a9c766d..1020ee14 100644 --- a/tools/genperf/genperf.c +++ b/tools/genperf/genperf.c @@ -259,6 +259,7 @@ main(int argc, char *argv[]) static char language[16] = ""; static char delimiters[16] = ",\r\n"; static char name[128]; + static char filename[768]; int need_struct = 0; int have_struct = 0; int go_keywords = 0; @@ -281,6 +282,17 @@ main(int argc, char *argv[]) return EXIT_FAILURE; } + ch = argv[1]; + i = 0; + while (*ch && i < 767) { + if (*ch == '\\') { + filename[i++] = '/'; + ch++; + } else + filename[i++] = *ch++; + } + filename[i] = '\0'; + STAILQ_INIT(&usercode); STAILQ_INIT(&usercode2); STAILQ_INIT(&keywords); @@ -321,7 +333,7 @@ main(int argc, char *argv[]) struct_name[i] = '\0'; sv = yasm_xmalloc(sizeof(sval)); - snprintf(tmp, 1024, "#line %u \"%s\"\n", cur_line, argv[1]); + sprintf(tmp, "#line %u \"%s\"\n", cur_line, filename); sv->str = yasm__xstrdup(tmp); STAILQ_INSERT_TAIL(&usercode, sv, link); @@ -366,7 +378,7 @@ main(int argc, char *argv[]) /* %{ begins a verbatim code section that ends with %} */ if (line[1] == '{') { sv = yasm_xmalloc(sizeof(sval)); - snprintf(tmp, 1024, "#line %u \"%s\"\n\n", cur_line, argv[1]); + sprintf(tmp, "#line %u \"%s\"\n\n", cur_line, filename); sv->str = yasm__xstrdup(tmp); STAILQ_INSERT_TAIL(&usercode, sv, link); @@ -487,7 +499,7 @@ main(int argc, char *argv[]) /* Pull in any end code */ if (!feof(in)) { sv = yasm_xmalloc(sizeof(sval)); - snprintf(tmp, 1024, "#line %u \"%s\"\n\n", cur_line, argv[1]); + sprintf(tmp, "#line %u \"%s\"\n\n", cur_line, filename); sv->str = yasm__xstrdup(tmp); STAILQ_INSERT_TAIL(&usercode2, sv, link); @@ -506,7 +518,7 @@ main(int argc, char *argv[]) printf("%s", sv->str); /* Get perfect hash */ - perfect_gen(stdout, lookup_function_name, struct_name, &keywords, argv[1]); + perfect_gen(stdout, lookup_function_name, struct_name, &keywords, filename); STAILQ_FOREACH(sv, &usercode2, link) printf("%s", sv->str); |