comparison hrutil/dec-parse.c @ 564:30c57cf6e87d

gsmhr-dec-parse: read native endian by default
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 12 Feb 2025 00:33:32 +0000
parents 2d703e1e9107
children
comparison
equal deleted inserted replaced
563:a563c7b17e16 564:30c57cf6e87d
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_DEC]; 22 int16_t params[GSMHR_NUM_PARAMS_DEC];
21 int rc; 23 int opt, rc;
24 extern int optind;
22 25
23 if (argc == 2 && argv[1][0] != '-') { 26 big_endian = is_native_big_endian();
24 big_endian = 0; 27 while ((opt = getopt(argc, argv, "bl")) != EOF) {
25 infname = argv[1]; 28 switch (opt) {
26 } else if (argc == 3 && !strcmp(argv[1], "-b")) { 29 case 'b':
27 big_endian = 1; 30 big_endian = 1;
28 infname = argv[2]; 31 continue;
29 } else { 32 case 'l':
30 fprintf(stderr, "usage: %s [-b] file.dec\n", argv[0]); 33 big_endian = 0;
31 exit(1); 34 continue;
35 default:
36 usage:
37 fprintf(stderr, "usage: %s [-b|-l] file.dec\n",
38 argv[0]);
39 exit(1);
40 }
32 } 41 }
42 if (argc != optind + 1)
43 goto usage;
44 infname = argv[optind];
33 inf = fopen(infname, "r"); 45 inf = fopen(infname, "r");
34 if (!inf) { 46 if (!inf) {
35 perror(infname); 47 perror(infname);
36 exit(1); 48 exit(1);
37 } 49 }