home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / sharware / utility / PACKERS / LZH / LHASRC.EXE / DISP.C < prev    next >
C/C++ Source or Header  |  1991-02-01  |  2KB  |  105 lines

  1. /***********************************************************
  2.     disp.c -- display filenames
  3. ***********************************************************/
  4. #include <stdio.h>
  5. #include "lh.h"
  6. #include "intrface.h"
  7.  
  8. char *procptr;
  9. char *fileptr;
  10. ushort maxblk;
  11. ushort blkcnt;
  12. ushort curcnt;
  13. ushort nxtcnt;
  14.  
  15. extern int fcount, tcount;
  16.  
  17. void regdisp(char *p, char *q)
  18. {
  19.     procptr = p;
  20.     fileptr = (flg_l) ? hpb.pathname : hpb.filename;
  21.     if (q && flg_l == 2) fileptr = q;
  22.     maxblk = (flg_l) ? 67 : 57;
  23.     fcount++;
  24. }
  25.  
  26. void dispname(void)
  27. {
  28.     if (flg_n == 2) return;
  29.     eprintf((flg_l) ? "\r  %-8s " : "\r%-8s %-12s ", procptr, fileptr);
  30. }
  31.  
  32. void dispalone(char *p)
  33. {
  34.     regdisp(p, NULL);
  35.     if (outredir) printf("%s\n", fileptr);
  36.     if (flg_n != 2) eprintf("%-8s %s", p, fileptr);
  37. }
  38.  
  39. void disp(int view, int redir)
  40. {
  41.     int dicsiz, blk;
  42.  
  43.     blkcnt = -1;
  44.     if (view) return;
  45.     if (redir) printf("%s\n", fileptr);
  46.     if (flg_n == 2) return;
  47.     if (flg_l) {
  48.         eprintf("[%d", fcount);
  49.         if (cmd == 'U' || cmd == 'M') eprintf("/%d", tcount);
  50.         eprintf("] %s\n", fileptr);
  51.     }
  52.     dispname();
  53.     if (flg_n) return;
  54.     dicsiz = 1 << interface.dicbit;
  55.     blkcnt = blk =(interface.original + dicsiz - 1) / dicsiz;
  56.     if (blk > maxblk) blk = maxblk;
  57.     while (blk) {
  58.         fputc('.', stderr);
  59.         blk--;
  60.     }
  61.     dispname();
  62. }
  63.  
  64. void enddisp(char *p)
  65. {
  66.     if (flg_n == 2) return;
  67.     eprintf((flg_l) ? "\r  %-8s \n" : "\r%-8s \n", p);
  68. }
  69.  
  70. #if 0
  71. void initdisp(void)
  72. {
  73.     curcnt = nxtcnt = 0;
  74.     if (blkcnt == -1) nxtcnt = -1;
  75. }
  76.  
  77. void dispmark(char mark)
  78. {
  79.     if (curcnt >= nxtcnt) {
  80.         fputc(mark, stderr);
  81.         if (blkcnt > maxblk) {
  82.             nxtcnt = (((long)curcnt * maxblk + blkcnt - 1) / blkcnt + 1) 
  83.                      * blkcnt / maxblk;
  84.         } else {
  85.             nxtcnt++;
  86.         }
  87.     }
  88.     curcnt++;
  89. }
  90. #endif
  91.  
  92. void increment_disp(void)
  93. {
  94.     fcount++;
  95. }
  96.  
  97. void skipdisp(char *mes)
  98. {
  99.     if (flg_n == 2) return;
  100.     regdisp("Skipped", cmd == 'E' ? filename3 : NULL);
  101.     interface.original = 0;
  102.     disp(0, 0);
  103.     eprintf(": %s\n", mes);
  104. }
  105.