FreeCalypso > hg > fc-magnetite
annotate helpers/str2ind-ver.c @ 700:800bf29abf31
audio mode load change from Tourmaline
Our FreeCalypso universe now has two kinds of audio mode config files:
the old 164 byte kind and the new 176 byte kind. We are not enabling
L1_NEW_AEC in Magnetite, only in Tourmaline, thus 164 byte audio mode
files are still native to Magnetite. But we still desire graceful
handling of the situation when a running Magnetite fw may load a
176 byte audio mode file (presumably with new AEC config), thus we
incorporate the same audio mode loading change which we implemented
in Tourmaline: if the loaded audio mode file is of the wrong kind,
the AEC config is cleared to default disabled state.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 30 Jul 2021 03:55:52 +0000 |
parents | f4eeab478bfe |
children |
rev | line source |
---|---|
60
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * This utility extracts the timestamp from a str2ind.tab file |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * and emits the corresponding char *str2ind_version C line. |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 */ |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 #include <stdio.h> |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 #include <stdlib.h> |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 #include <string.h> |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 #include <strings.h> |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 main(argc, argv) |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 char **argv; |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 { |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 FILE *inf; |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 char buf[32], *cp; |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 if (argc != 2) { |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 fprintf(stderr, "usage: %s str2ind.tab\n", argv[0]); |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 exit(1); |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 } |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 inf = fopen(argv[1], "r"); |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 if (!inf) { |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 perror(argv[1]); |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 exit(1); |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 } |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 if (!fgets(buf, sizeof buf, inf)) { |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 inv: fprintf(stderr, |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 "Error: %s does not have the expected first line\n", |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 argv[1]); |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 exit(1); |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 } |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 cp = index(buf, '\n'); |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 if (!cp || cp == buf) |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 goto inv; |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 *cp = '\0'; |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 if (cp[-1] == '\r') |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 *--cp = '\0'; |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 if (cp != buf + 10) |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 goto inv; |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 printf("char *str2ind_version = \"&%s\";\n", buf); |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 exit(0); |
f4eeab478bfe
str2ind-ver helper written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 } |