1#include <stdio.h> 2#include <string.h> 3#include <stdlib.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