|
|
1.1 ! root 1: /* ! 2: ! 3: Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly, ! 4: Kai Uwe Rommel and Igor Mandrichenko. ! 5: Permission is granted to any individual or institution to use, copy, or ! 6: redistribute this software so long as all of the original files are included ! 7: unmodified, that it is not sold for profit, and that this copyright notice ! 8: is retained. ! 9: ! 10: */ ! 11: ! 12: /* ! 13: * globals.c by Mark Adler. ! 14: */ ! 15: ! 16: #define GLOBALS /* include definition of errors[] in zip.h */ ! 17: #include "zip.h" ! 18: ! 19: ! 20: /* Handy place to build error messages */ ! 21: char errbuf[FNMAX+81]; ! 22: ! 23: /* Argument processing globals */ ! 24: int recurse = 0; /* 1=recurse into directories encountered */ ! 25: int pathput = 1; /* 1=store path with name */ ! 26: int method = BEST; /* one of BEST, DEFLATE (only), or STORE (only) */ ! 27: int dosify = 0; /* 1=make new entries look like MSDOS */ ! 28: int verbose = 0; /* 1=report oddities in zip file structure */ ! 29: int level = 5; /* 0=fastest compression, 9=best compression */ ! 30: int translate_eol = 0; /* Translate end-of-line LF -> CR LF */ ! 31: #ifdef VMS ! 32: int vmsver = 0; /* 1=append VMS version number to file names */ ! 33: int vms_native = 0; /* 1=store in VMS format */ ! 34: #endif /* VMS */ ! 35: #ifdef OS2 ! 36: int use_longname_ea = 0; /* 1=use the .LONGNAME EA as the file's name */ ! 37: #endif /* OS2 */ ! 38: int linkput = 0; /* 1=store symbolic links as such */ ! 39: int noisy = 1; /* 0=quiet operation */ ! 40: char *special = ".Z:.zip:.zoo:.arc:.lzh:.arj"; /* List of special suffixes */ ! 41: char *key = NULL; /* Scramble password if scrambling */ ! 42: char *tempath = NULL; /* Path for temporary files */ ! 43: FILE *mesg; /* stdout by default, stderr for piping */ ! 44: ! 45: /* Zip file globals */ ! 46: char *zipfile; /* New or existing zip archive (zip file) */ ! 47: ulg zipbeg; /* Starting offset of zip structures */ ! 48: ulg cenbeg; /* Starting offset of central directory */ ! 49: struct zlist far *zfiles = NULL; /* Pointer to list of files in zip file */ ! 50: extent zcount; /* Number of files in zip file */ ! 51: extent zcomlen; /* Length of zip file comment */ ! 52: char *zcomment; /* Zip file comment (not zero-terminated) */ ! 53: struct zlist far **zsort; /* List of files sorted by name */ ! 54: ulg tempzn; /* Count of bytes written to output zip file */ ! 55: ! 56: /* Files to operate on that are not in zip file */ ! 57: struct flist far *found = NULL; /* List of names found */ ! 58: struct flist far * far *fnxt = &found; ! 59: /* Where to put next name in found list */ ! 60: extent fcount; /* Count of files in list */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.