20int main(
int argc,
char *argv[])
27 printf(
"bin2c - from bin2s By Sjeep\n"
28 "Usage: bin2c infile outfile label\n\n");
32 if((source=fopen( argv[1],
"rb")) == NULL) {
33 printf(
"Error opening %s for reading.\n",argv[1]);
37 fseek(source,0,SEEK_END);
38 fd_size = ftell(source);
39 fseek(source,0,SEEK_SET);
41 buffer = malloc(fd_size);
43 printf(
"Failed to allocate memory.\n");
48 if(fread(buffer,1,fd_size,source) != fd_size) {
49 printf(
"Failed to read file.\n");
55 if((dest = fopen(argv[2],
"w+")) == NULL) {
56 printf(
"Failed to open/create %s.\n",argv[2]);
60 fprintf(dest,
"#ifndef __%s__\n", argv[3]);
61 fprintf(dest,
"#define __%s__\n\n", argv[3]);
62 fprintf(dest,
"unsigned int size_%s = %d;\n", argv[3], fd_size);
63 fprintf(dest,
"unsigned char %s[] __attribute__((aligned(16))) = {", argv[3]);
65 for(i=0;i<fd_size;i+=1) {
66 if((i % 16) == 0) fprintf(dest,
"\n\t");
67 fprintf(dest,
"0x%02x, ", buffer[i]);
70 fprintf(dest,
"\n};\n\n#endif\n");