From ce9b930af0d242bfc61579f4b9badba7d04c5c8e Mon Sep 17 00:00:00 2001 From: Andrew Hannam Date: Thu, 4 Apr 2013 17:55:45 +1000 Subject: [PATCH] Fix to file2c to ensure valid C identifiers A couple of small bug fixes. --- tools/file2c/Binaries - Win32/file2c.exe | Bin 9216 -> 9216 bytes .../Source/VS 2012 Project/file2c.v11.suo | Bin 24064 -> 25600 bytes tools/file2c/Source/file2c.c | 10 +++++++++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/file2c/Binaries - Win32/file2c.exe b/tools/file2c/Binaries - Win32/file2c.exe index 985279559dd5b091c63f37440248cd01a2dc368e..d1959ad6551c71987cadafc2580bbdea203f4cfa 100644 GIT binary patch delta 2427 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 diff --git a/tools/file2c/Source/file2c.c b/tools/file2c/Source/file2c.c index 2bcb4560..d2b862e6 100644 --- a/tools/file2c/Source/file2c.c +++ b/tools/file2c/Source/file2c.c @@ -23,6 +23,13 @@ static char *filenameof(char *fname) { return fname; } +static char *clean4c(char *fname) { + char *p; + + while((p = strpbrk(fname, "-+ `~!@#$%^&*(){}[]|:;'\",<>?/|="))) *p = '_'; + return fname; +} + int main(int argc, char * argv[]) { char * opt_progname; @@ -115,6 +122,7 @@ size_t i; opt_arrayname = filenameof(opt_inputfile); if (!opt_arrayname || !opt_arrayname[0]) opt_arrayname = "filearray"; + opt_arrayname = clean4c(opt_arrayname); } /* Read the file processing 1K at a time */ @@ -125,7 +133,7 @@ size_t i; else if (opt_breakblocks) fprintf(f_output, "\n};\n%s%sunsigned char %s_p%u[] = {", opt_static, opt_const, opt_arrayname, blocknum); for(i = 0; i < len; i++) { - fprintf(f_output, (i & 0x0F) ? ", 0x%02X" : "\n\t0x%02X", buf[i]); + fprintf(f_output, (i & 0x0F) ? " 0x%02X," : "\n\t0x%02X,", buf[i]); } } fprintf(f_output, "\n};\n");