FreeCalypso > hg > fc-magnetite
annotate helpers/str2ind-ver.c @ 701:35e7f9d0379f
targets: add TARGET_HAS_BUZZER to c11x, c139 and dsample
This new target config preprocessor symbol was introduced in Tourmaline
in connection with the new approach to playing buzzer melodies via PWT,
properly omitting the responsible code on targets where BU output
controls the vibrator instead. That code is not present in Magnetite
and we have no plans to backport it here, but target header files
should be kept consistent between the two trees, especially given
that we plan to support FC Venus target in Magnetite.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 26 Mar 2022 19:51:34 +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 } |