121020Slibs /* 2*23081Skre * Copyright (c) 1980 Regents of the University of California. 3*23081Skre * All rights reserved. The Berkeley software License Agreement 4*23081Skre * specifies the terms and conditions for redistribution. 5*23081Skre */ 6*23081Skre 7*23081Skre /* 821020Slibs * mkindx.c - utility to format a nice index to source files, etc. 921020Slibs * 1021020Slibs * usage: mkindx "title string" [file_name] [filename] ..... 1121020Slibs */ 1221020Slibs 1321020Slibs # include <stdio.h> 1421020Slibs 15*23081Skre char id_mkindx[] = "@(#)mkindx.c 5.1 06/07/85"; 1621020Slibs 1721020Slibs char list[10000] = "pwd >>index; echo \" \" >>index; ls -l "; 1821020Slibs char *apndx = ">>index"; 1921020Slibs char *cp = list; 2021020Slibs extern char *ctime(); 2121020Slibs FILE *fopen(), *index; 2221020Slibs 2321020Slibs main (argc, argv) 2421020Slibs char **argv; 2521020Slibs { 2621020Slibs short i; 2721020Slibs long time(), t; 2821020Slibs 2921020Slibs if (index = fopen ("index", "w")) 3021020Slibs { 3121020Slibs fprintf (index, "\n\n\n\n\n\n\n\n\n"); 3221020Slibs center (argv[1]); /* center title on page */ 3321020Slibs t = time(0); 3421020Slibs center (ctime(&t)); /* center date & time */ 3521020Slibs fprintf (index, "\n"); 3621020Slibs fclose (index); 3721020Slibs while (*cp) cp++; /* find end of shell command */ 3821020Slibs for (i = 2; i < argc; i++) 3921020Slibs { 4021020Slibs while (*argv[i]) *cp++ = *(argv[i]++); 4121020Slibs *cp++ = ' '; 4221020Slibs } 4321020Slibs while (*apndx) *cp++ = *apndx++; 4421020Slibs *cp = '\0'; 4521020Slibs system (list); 4621020Slibs } 4721020Slibs else fprintf (stderr, "mkindx: can't open index\n"); 4821020Slibs } 4921020Slibs 5021020Slibs center (string) 5121020Slibs char *string; 5221020Slibs { 5321020Slibs short pad; 5421020Slibs 5521020Slibs pad = (72 - strlen(string)) >> 1; 5621020Slibs while (pad-- > 0) fputc(' ', index); 5721020Slibs fprintf (index, "%s\n", string); 5821020Slibs } 59