FreeCalypso > hg > vband-misc
view utils/gen-hex-lines.c @ 57:a64e5ed217c0 default tip
top Makefile: add fr-sid
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 22 Aug 2024 06:43:31 +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); }