comparison hrutil/cod-parse.c @ 562:901753f59f88

gsmhr-cod-parse: read native endian by default
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 12 Feb 2025 00:17:56 +0000
parents bb36ef735f25
children a563c7b17e16
comparison
equal deleted inserted replaced
561:cf62fe9fac3a 562:901753f59f88
6 #include <stdio.h> 6 #include <stdio.h>
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <stdlib.h> 8 #include <stdlib.h>
9 #include <string.h> 9 #include <string.h>
10 #include <strings.h> 10 #include <strings.h>
11 #include <unistd.h>
11 #include "../libgsmhr1/tw_gsmhr.h" 12 #include "../libgsmhr1/tw_gsmhr.h"
13 #include "../libtest/local_endian.h"
12 14
13 main(argc, argv) 15 main(argc, argv)
14 char **argv; 16 char **argv;
15 { 17 {
16 char *infname; 18 char *infname;
17 FILE *inf; 19 FILE *inf;
18 int big_endian; 20 int big_endian;
19 unsigned frame_no; 21 unsigned frame_no;
20 int16_t params[GSMHR_NUM_PARAMS_ENC]; 22 int16_t params[GSMHR_NUM_PARAMS_ENC];
21 int rc; 23 int opt, rc;
22 24
23 if (argc == 2 && argv[1][0] != '-') { 25 big_endian = is_native_big_endian();
24 big_endian = 0; 26 while ((opt = getopt(argc, argv, "bl")) != EOF) {
25 infname = argv[1]; 27 switch (opt) {
26 } else if (argc == 3 && !strcmp(argv[1], "-b")) { 28 case 'b':
27 big_endian = 1; 29 big_endian = 1;
28 infname = argv[2]; 30 continue;
29 } else { 31 case 'l':
30 fprintf(stderr, "usage: %s [-b] file.cod\n", argv[0]); 32 big_endian = 0;
31 exit(1); 33 continue;
34 default:
35 usage:
36 fprintf(stderr, "usage: %s [-b|-l] file.cod\n",
37 argv[0]);
38 exit(1);
39 }
32 } 40 }
41 if (argc != optind + 1)
42 goto usage;
43 infname = argv[optind];
33 inf = fopen(infname, "r"); 44 inf = fopen(infname, "r");
34 if (!inf) { 45 if (!inf) {
35 perror(infname); 46 perror(infname);
36 exit(1); 47 exit(1);
37 } 48 }