|
|
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.