char id_mkvers[] = "@(#)mkvers.c 1.2"; /* * extract sccs id strings from source files * first arg is lib name. * Put them in Version.c */ #include #define SCCS_ID "@(#)" #define VERSION "Version.c" main(argc, argv) int argc; char **argv; { char buf[256]; char *s, *e; char *index(), *ctime(); long t; FILE *V, *fdopen(); V = stdout; /* fdopen(creat(VERSION, 0644), "w"); */ if (!V) { perror("mkvers"); exit(1); } if (argc > 1 && argv[1][0] != '.') { fprintf(V, "char *"); for (s = argv[1]; *s && *s != '.'; s++) fputc(*s, V); fprintf(V, "_id[] = {\n"); } else fprintf(V, "char *sccs_id[] = {\n"); if (argc-- > 1) { time(&t); s = ctime(&t) + 4; s[20] = '\0'; fprintf(V, "\t\"%s%s\t%s\",\n", SCCS_ID, *++argv, s); } while (--argc) { if (freopen(*++argv, "r", stdin) == NULL) { perror(*argv); continue; } while(gets(buf)) { s = buf; while(s = index(s, '@')) if (strncmp(s, SCCS_ID, 4) == 0) break; if (s) { e = index(s, '"'); if (e) *e = '\0'; fprintf(V, "\t\"%s\",\n", s); break; } } if (feof(stdin)) fprintf(stderr, "%s: no sccs id string\n", *argv); } fprintf(V, "};\n"); fclose(V); fflush(stdout); fflush(stderr); }