changed to use MAXPATHLEN. DLW
[unix-history] / usr / src / usr.bin / f77 / libU77 / mkvers.c
CommitLineData
9a61fd6b 1char id_mkvers[] = "@(#)mkvers.c 1.2";
8e9f7d81
DW
2/*
3 * extract sccs id strings from source files
4 * first arg is lib name.
5 * Put them in Version.c
6 */
7
8#include <stdio.h>
9
10#define SCCS_ID "@(#)"
11#define VERSION "Version.c"
12
13main(argc, argv)
14int argc; char **argv;
15{
16 char buf[256];
17 char *s, *e;
18 char *index(), *ctime();
19 long t;
20 FILE *V, *fdopen();
21
22 V = stdout; /* fdopen(creat(VERSION, 0644), "w"); */
23 if (!V)
24 {
25 perror("mkvers");
26 exit(1);
27 }
9a61fd6b
DW
28 if (argc > 1 && argv[1][0] != '.')
29 {
30 fprintf(V, "char *");
31 for (s = argv[1]; *s && *s != '.'; s++)
32 fputc(*s, V);
33 fprintf(V, "_id[] = {\n");
34 }
35 else
36 fprintf(V, "char *sccs_id[] = {\n");
8e9f7d81
DW
37 if (argc-- > 1)
38 {
39 time(&t);
40 s = ctime(&t) + 4;
41 s[20] = '\0';
42 fprintf(V, "\t\"%s%s\t%s\",\n", SCCS_ID, *++argv, s);
43 }
44 while (--argc)
45 {
46 if (freopen(*++argv, "r", stdin) == NULL)
47 {
48 perror(*argv);
49 continue;
50 }
51 while(gets(buf))
52 {
53 s = buf;
54 while(s = index(s, '@'))
55 if (strncmp(s, SCCS_ID, 4) == 0)
56 break;
57 if (s)
58 {
59 e = index(s, '"');
60 if (e)
61 *e = '\0';
62 fprintf(V, "\t\"%s\",\n", s);
63 break;
64 }
65 }
66 if (feof(stdin))
67 fprintf(stderr, "%s: no sccs id string\n", *argv);
68 }
69 fprintf(V, "};\n");
70 fclose(V);
71 fflush(stdout);
72 fflush(stderr);
73}