|  | #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; | 
|  | } |