1#include <stdio.h>
2#include <stdlib.h>
3#include <string.h>
4
5int main( int argc, const char * argv [] )
6{
7    const char * varname;
8    int i = 0;
9    int c;
10    int id = 0;
11
12    if(argv[1] && strcmp(argv[1],"-i")==0)
13    {
14    	argv++;
15    	argc--;
16    	id=1;
17    }
18
19    if(argc==1)
20    {
21    	fprintf(stderr, "bin2hex: [-i] firmware\n");
22    	exit(1);
23    }
24
25    varname = argv[1];
26    printf( "/* automatically generated by bin2hex */\n" );
27    printf( "static unsigned char %s [] %s =\n{\n", varname , id?"__initdata":"");
28
29    while ( ( c = getchar( ) ) != EOF )
30    {
31	if ( i != 0 && i % 10 == 0 )
32	    printf( "\n" );
33	printf( "0x%02lx,", c & 0xFFl );
34	i++;
35    }
36
37    printf( "};\nstatic int %sLen =  %d;\n", varname, i );
38    return 0;
39}
40