FreeCalypso > hg > fc-magnetite
annotate helpers/str2ind-ver.c @ 566:f6f599aad453
aci3: AT-over-RVT mechanism extended to support long messages
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Wed, 09 Jan 2019 07:09:47 +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 } | 
