home *** CD-ROM | disk | FTP | other *** search
- /* $Header: E:\SRC\UUPC\RN\RCS/KITLISTS.C 1.1 1992/11/21 06:14:58 ahd Exp $
- *
- * $Log: KITLISTS.C $
- * Revision 1.1 1992/11/21 06:14:58 ahd
- * Initial
- *
- *
- * Rev 1.0 18 Nov 1990 0:22:28
- * Initial revision.
- * Revision 4.3.2.1 89/11/08 03:19:35 sob
- * Removed some dependencies.
- *
- * Revision 4.3 85/05/01 11:42:08 lwall
- * Baseline for release with 4.3bsd.
- *
- */
-
- #include <stdio.h>
-
- #define MAXKIT 100
- #define MAXKITSIZE 63000
- #define KITOVERHEAD 700
- #define FILEOVERHEAD 80
-
- long tot[MAXKIT];
- FILE *outfp[MAXKIT]; /* of course, not this
- * many file descriptors */
-
- main(argc, argv)
- int argc;
- char **argv;
- {
- FILE *inp, *popen();
- char buf[1024], filnam[128];
- char *index();
- register char *s;
- register int i, newtot;
-
- sprintf(buf, "\
- ls -l `awk '{print $1}' <%s'` | awk '{print $8 \" \" $4}' | sort +1nr\
- ", argc > 1 ? argv[1] : "MANIFEST.new");
- inp = popen(buf, "r");
-
- while (fgets(buf, 1024, inp) != (char *) NULL)
- {
- s = index(buf, ' ');
- *s++ = '\0';
- for (i = 1;
- (newtot = tot[i] + atol(s) + FILEOVERHEAD) > MAXKITSIZE - KITOVERHEAD;
- i++)
- ;
- if (!tot[i])
- {
- sprintf(filnam, "kit%d.list", i);
- outfp[i] = fopen(filnam, "w");
- }
- tot[i] = newtot;
- printf("Adding %s to kit %d giving %d bytes\n", buf, i, newtot);
- fprintf(outfp[i], "%s\n", buf);
- }
- }
-