Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
bin2hex.c
Go to the documentation of this file.
1 #include <stdio.h>
2 #include <string.h>
3 #include <stdlib.h>
4 
5 int 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 }