1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/test/bin2c.c Sat Aug 19 01:51:16 2006 +0000
1.4 +/* Converts a binary file into a C integer array (for inclusion in
1.9 + $Id: bin2c.c,v 1.1 2006-07-11 01:35:23 nkeynes Exp $
1.10 + Note: Licensed under the new BSD license, see README.KOS -NK
1.15 +void convert(char *ifn, char *ofn, char *prefix) {
1.17 + unsigned char buffer[2048];
1.18 + int red, left, lc, q;
1.21 + i = fopen(ifn, "rb");
1.22 + o = fopen(ofn, "w");
1.24 + printf("error: can't open input or output file\n");
1.28 + fseek(i, 0, SEEK_END); left = ftell(i); fseek(i, 0, SEEK_SET);
1.31 + fprintf(o, "const int %s_size = %d;\n", prefix, left);
1.32 + fprintf(o, "const unsigned char %s_data[%d] =", prefix, left);
1.33 + fprintf(o, "{\n\t");
1.37 + red = fread(buffer, 1, 2048, i);
1.39 + for (q=0; q<red; q++) {
1.40 + fprintf(o, "0x%02x, ", buffer[q]);
1.41 + if ((++lc) >= 8) {
1.43 + fprintf(o, "\n\t");
1.48 + fprintf(o, "\n};\n");
1.49 + fclose(i); fclose(o);
1.52 +int main(int argc, char **argv) {
1.57 + if (argc != 2 && argc != 3) {
1.58 + printf("usage: bin2c <input> <output> [prefix]\n");
1.62 + prefix = (argc == 3) ? argv[3] : "file";
1.63 + convert(argv[1], argv[2], prefix);