FreeCalypso > hg > fc-magnetite
annotate helpers/str2ind-ver.c @ 672:3e4f212e5d49
targets/*.conf cleanup: remove unnecessary TPUDRV_blob= lines
MAIN_blob= and/or TPUDRV_blob= may be *optionally* defined in
targets/*.conf files; if either variable is defined, it means that
using the specified version of the blob library is allowed on this
target, albeit likely suboptimal; if the variable is not defined,
then using a blob is not an option and compilation from source is
required for this component.
MAIN_blob= and TPUDRV_blob= are now defaulted to empty in configure.sh,
thus there is no need to explicitly specify that using a blob is not
a valid option.
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Fri, 29 May 2020 03:11:16 +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 } |
