home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / TELECOM / rn_4_3_blars.lzh / kitlists.c < prev    next >
C/C++ Source or Header  |  1990-08-22  |  1KB  |  53 lines

  1. /* $Header: kitlists.c,v 4.3.2.1 89/11/08 03:19:35 sob Locked $
  2.  *
  3.  * $Log:    kitlists.c,v $
  4.  * Revision 4.3.2.1  89/11/08  03:19:35  sob
  5.  * Removed some dependencies.
  6.  * 
  7.  * Revision 4.3  85/05/01  11:42:08  lwall
  8.  * Baseline for release with 4.3bsd.
  9.  * 
  10.  */
  11.  
  12. #include <stdio.h>
  13.  
  14. #define MAXKIT 100
  15. #define MAXKITSIZE 63000
  16. #define KITOVERHEAD 700
  17. #define FILEOVERHEAD 80
  18.  
  19. long tot[MAXKIT];
  20. FILE *outfp[MAXKIT];        /* of course, not this many file descriptors */
  21.  
  22. main(argc,argv)
  23. int argc;
  24. char **argv;
  25. {
  26.     FILE *inp, *popen();
  27.     char buf[1024], filnam[128];
  28.     char *index();
  29.     register char *s;
  30.     register int i, newtot;
  31.     
  32.     sprintf(buf,"\
  33. ls -l `awk '{print $1}' <%s'` | awk '{print $8 \" \" $4}' | sort +1nr\
  34. ", argc > 1 ? argv[1] : "MANIFEST.new");
  35.     inp = popen(buf,"r");
  36.  
  37.     while (fgets(buf,1024,inp) != (char *)NULL) {
  38.     s = index(buf,' ');
  39.     *s++ = '\0';
  40.     for (i=1;
  41.       (newtot = tot[i] + atol(s) + FILEOVERHEAD) > MAXKITSIZE-KITOVERHEAD;
  42.       i++) 
  43.         ;
  44.     if (!tot[i]) {
  45.         sprintf(filnam,"kit%d.list",i);
  46.         outfp[i] = fopen(filnam,"w");
  47.     }
  48.     tot[i] = newtot;
  49.     printf("Adding %s to kit %d giving %d bytes\n",buf,i,newtot);
  50.     fprintf(outfp[i],"%s\n",buf);
  51.     }
  52. }
  53.