home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c019 / 3.ddi / LZWLIB11 / LZWOUT.C < prev    next >
Encoding:
C/C++ Source or Header  |  1992-03-19  |  1.2 KB  |  58 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5. #include <lzw.h>
  6.  
  7. char mask[13] = "*.*";
  8.  
  9. void main(int argc, char **argv)
  10. {
  11.  
  12.    char lzw_pathfile[80];
  13.    int i;
  14.    unsigned long options = 1L;     // EXTRACT ALWAYS
  15.  
  16.    argc--;
  17.    argv++;
  18.    if (!argc){
  19.      puts("USAGE: lzwin <lzw_pathfile> [mask] [-c -n] ");
  20.      puts("       Where -c = Create saved directories and");
  21.      puts("             -n = DO NOT overwrite existing files.");
  22.      exit(1);
  23.    }
  24.    strcpy(lzw_pathfile,*argv);
  25.  
  26.    argc--;
  27.    argv++;
  28.    for (i=0 ; i < argc ; i++)
  29.      switch(argv[i][0]){
  30.        case '-': if (tolower(argv[i][1]) == 'c')
  31.            options |= CREATEDIRS;
  32.          else if (tolower(argv[i][1]) == 'n')
  33.            options |= NOOVERWRITE;
  34.                  break;
  35.         default: strcpy(mask,argv[i]);
  36.      }
  37.  
  38.    //  INITIALIZATION
  39.    //
  40.    puts("Initialization...");
  41.    lzw_init();
  42.  
  43.    puts("Decoding...");
  44.    if (unlzw(lzw_pathfile,options,mask)){
  45.      puts("Decoding error.");
  46.      exit(1);
  47.    }
  48.    printf("End decoding...\n");
  49.  
  50.    //  DEINITIALIZATION
  51.    //
  52.    printf("Deinitialization.");
  53.    lzw_deinit();
  54.  
  55.    exit(0);
  56. }
  57.  
  58.