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