FreeCalypso > hg > vband-misc
view utils/gen-hex-lines.c @ 53:637ee027999b
efr-sid/Unit-test-desc: blurb written
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 12 Aug 2024 03:39:42 +0000 |
parents | 914eeb3ab866 |
children |
line wrap: on
line source
/* * This program reads an arbitrary binary file and converts it into ASCII hex * output with a specified number of bytes per line. The intended purpose * is to convert gsmx files (FR or EFR) into hex files with one frame per line. */ #include <stdio.h> #include <stdlib.h> main(argc, argv) char **argv; { FILE *inf, *outf; int c, lcnt, bpl; if (argc != 4) { fprintf(stderr, "usage: %s input.bin output.hex bytes-per-line\n", argv[0]); exit(1); } inf = fopen(argv[1], "r"); if (!inf) { perror(argv[1]); exit(1); } outf = fopen(argv[2], "w"); if (!outf) { perror(argv[2]); exit(1); } bpl = atoi(argv[3]); lcnt = 0; for (;;) { c = getc(inf); if (c < 0) break; fprintf(outf, "%02X", c); lcnt++; if (lcnt >= bpl) { putc('\n', outf); lcnt = 0; } } if (lcnt) putc('\n', outf); exit(0); }