| #include <stdio.h> | |
| #include <string.h> | |
| #include <stdlib.h> | |
| int main( int argc, const char * argv [] ) | |
| { | |
| const char * varname; | |
| int i = 0; | |
| int c; | |
| int id = 0; | |
| if(argv[1] && strcmp(argv[1],"-i")==0) | |
| { | |
| argv++; | |
| argc--; | |
| id=1; | |
| } | |
| if(argc==1) | |
| { | |
| fprintf(stderr, "bin2hex: [-i] firmware\n"); | |
| exit(1); | |
| } | |
| varname = argv[1]; | |
| printf( "/* automatically generated by bin2hex */\n" ); | |
| printf( "static unsigned char %s [] %s =\n{\n", varname , id?"__initdata":""); | |
| while ( ( c = getchar( ) ) != EOF ) | |
| { | |
| if ( i != 0 && i % 10 == 0 ) | |
| printf( "\n" ); | |
| printf( "0x%02lx,", c & 0xFFl ); | |
| i++; | |
| } | |
| printf( "};\nstatic int %sLen = %d;\n", varname, i ); | |
| return 0; | |
| } |