1*12001Sdlw char id_mkvers[] = "@(#)mkvers.c 1.2"; 210560Sdlw /* 310560Sdlw * extract sccs id strings from source files 410560Sdlw * first arg is lib name. 510560Sdlw * Put them in Version.c 610560Sdlw */ 710560Sdlw 810560Sdlw #include <stdio.h> 910560Sdlw 1010560Sdlw #define SCCS_ID "@(#)" 1110560Sdlw #define VERSION "Version.c" 1210560Sdlw 1310560Sdlw main(argc, argv) 1410560Sdlw int argc; char **argv; 1510560Sdlw { 1610560Sdlw char buf[256]; 1710560Sdlw char *s, *e; 1810560Sdlw char *index(), *ctime(); 1910560Sdlw long t; 2010560Sdlw FILE *V, *fdopen(); 2110560Sdlw 2210560Sdlw V = stdout; /* fdopen(creat(VERSION, 0644), "w"); */ 2310560Sdlw if (!V) 2410560Sdlw { 2510560Sdlw perror("mkvers"); 2610560Sdlw exit(1); 2710560Sdlw } 28*12001Sdlw if (argc > 1 && argv[1][0] != '.') 29*12001Sdlw { 30*12001Sdlw fprintf(V, "char *"); 31*12001Sdlw for (s = argv[1]; *s && *s != '.'; s++) 32*12001Sdlw fputc(*s, V); 33*12001Sdlw fprintf(V, "_id[] = {\n"); 34*12001Sdlw } 35*12001Sdlw else 36*12001Sdlw fprintf(V, "char *sccs_id[] = {\n"); 3710560Sdlw if (argc-- > 1) 3810560Sdlw { 3910560Sdlw time(&t); 4010560Sdlw s = ctime(&t) + 4; 4110560Sdlw s[20] = '\0'; 4210560Sdlw fprintf(V, "\t\"%s%s\t%s\",\n", SCCS_ID, *++argv, s); 4310560Sdlw } 4410560Sdlw while (--argc) 4510560Sdlw { 4610560Sdlw if (freopen(*++argv, "r", stdin) == NULL) 4710560Sdlw { 4810560Sdlw perror(*argv); 4910560Sdlw continue; 5010560Sdlw } 5110560Sdlw while(gets(buf)) 5210560Sdlw { 5310560Sdlw s = buf; 5410560Sdlw while(s = index(s, '@')) 5510560Sdlw if (strncmp(s, SCCS_ID, 4) == 0) 5610560Sdlw break; 5710560Sdlw if (s) 5810560Sdlw { 5910560Sdlw e = index(s, '"'); 6010560Sdlw if (e) 6110560Sdlw *e = '\0'; 6210560Sdlw fprintf(V, "\t\"%s\",\n", s); 6310560Sdlw break; 6410560Sdlw } 6510560Sdlw } 6610560Sdlw if (feof(stdin)) 6710560Sdlw fprintf(stderr, "%s: no sccs id string\n", *argv); 6810560Sdlw } 6910560Sdlw fprintf(V, "};\n"); 7010560Sdlw fclose(V); 7110560Sdlw fflush(stdout); 7210560Sdlw fflush(stderr); 7310560Sdlw } 74