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