1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
/* $Id: gic2c.c,v 1.3 2004/09/18 12:06:58 cegger Exp $ */
#include <stdio.h>
static void str2c(FILE *ostream,char *buffer)
{
while(*buffer) {
switch(*buffer) {
case '\a': fputs("\\a",ostream);break;
case '\n': fputs("\\n",ostream);break;
case '\r': fputs("\\r",ostream);break;
case '\t': fputs("\\t",ostream);break;
case '"' : fputs("\\\"",ostream);break;
default:
fputc(*buffer,ostream);
break;
}
buffer++;
}
}
int main(int argc,char **argv)
{
FILE *input,*output;
char buffer[1024];
input=stdin;
output=stdout;
fputs("#include <stdio.h>\n\n",output);
fputs("static char gic_default_config[]= {\n",output);
while(!feof(input)) {
if (NULL==fgets(buffer,sizeof(buffer),input)) break;
fputs("\t\"",output);
str2c (output,buffer);
fputs("\"\n",output);
}
fputs("};\n\n",output);
fputs("size_t gicWriteDefaultConfig(FILE *outfile)\n",output);
fputs("{\n",output);
fputs("\treturn fwrite(gic_default_config,sizeof(gic_default_config)-1,1,outfile);\n",output);
fputs("}\n",output);
return 0;
}
|