40 lines
		
	
	
	
		
			755 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
	
		
			755 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
|   | #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; | ||
|  | } |