?? zipinfo.c
字號:
static ZCONST char Far efPKVMS[] = "PKWARE VMS";static ZCONST char Far efPKWin32[] = "PKWARE Win32";static ZCONST char Far efPKUnix[] = "PKWARE Unix";static ZCONST char Far efIZVMS[] = "Info-ZIP VMS";static ZCONST char Far efIZUnix[] = "old Info-ZIP Unix/OS2/NT";static ZCONST char Far efIZUnix2[] = "Unix UID/GID";static ZCONST char Far efTime[] = "universal time";static ZCONST char Far efJLMac[] = "old Info-ZIP Macintosh";static ZCONST char Far efMac3[] = "new Info-ZIP Macintosh";static ZCONST char Far efZipIt[] = "ZipIt Macintosh";static ZCONST char Far efSmartZip[] = "SmartZip Macintosh";static ZCONST char Far efZipIt2[] = "ZipIt Macintosh (short)";static ZCONST char Far efVMCMS[] = "VM/CMS";static ZCONST char Far efMVS[] = "MVS";static ZCONST char Far efACL[] = "OS/2 ACL";static ZCONST char Far efNTSD[] = "Security Descriptor";static ZCONST char Far efBeOS[] = "BeOS";static ZCONST char Far efQDOS[] = "SMS/QDOS";static ZCONST char Far efAOSVS[] = "AOS/VS";static ZCONST char Far efSpark[] = "Acorn SparkFS";static ZCONST char Far efASiUnix[] = "ASi Unix";static ZCONST char Far efTandem[] = "Tandem NSK";static ZCONST char Far efTheos[] = "Theos";static ZCONST char Far efUnknown[] = "unknown";static ZCONST char Far OS2EAs[] = ".\n\ The local extra field has %lu bytes of OS/2 extended attributes.\n\ (May not match OS/2 \"dir\" amount due to storage method)";static ZCONST char Far izVMSdata[] = ". The extra\n\ field is %s and has %u bytes of VMS %s information%s";static ZCONST char Far izVMSstored[] = "stored";static ZCONST char Far izVMSrleenc[] = "run-length encoded";static ZCONST char Far izVMSdeflat[] = "deflated";static ZCONST char Far izVMScunknw[] = "compressed(?)";static ZCONST char Far *izVMScomp[4] = {izVMSstored, izVMSrleenc, izVMSdeflat, izVMScunknw};static ZCONST char Far ACLdata[] = ".\n\ The local extra field has %lu bytes of access control list information";static ZCONST char Far NTSDData[] = ".\n\ The local extra field has %lu bytes of NT security descriptor data";static ZCONST char Far UTdata[] = ".\n\ The local extra field has UTC/GMT %s time%s";static ZCONST char Far UTmodification[] = "modification";static ZCONST char Far UTaccess[] = "access";static ZCONST char Far UTcreation[] = "creation";static ZCONST char Far ZipItFname[] = ".\n\ The Mac long filename is %s";static ZCONST char Far Mac3data[] = ".\n\ The local extra field has %lu bytes of %scompressed Macintosh\n\ finder attributes"; /* MacOSdata[] is used by EF_MAC3, EF_ZIPIT, EF_ZIPIT2 and EF_JLEE e. f. */static ZCONST char Far MacOSdata[] = ".\n\ The associated file has type code `%c%c%c%c' and creator code `%c%c%c%c'";static ZCONST char Far MacOSdata1[] = ".\n\ The associated file has type code `0x%lx' and creator code `0x%lx'";static ZCONST char Far MacOSJLEEflags[] = ".\n File is marked as %s";static ZCONST char Far MacOS_RF[] = "Resource-fork";static ZCONST char Far MacOS_DF[] = "Data-fork";static ZCONST char Far MacOSMAC3flags[] = ".\n\ File is marked as %s, File Dates are in %d Bit";static ZCONST char Far BeOSdata[] = ".\n\ The local extra field has %lu bytes of %scompressed BeOS file attributes"; /* The associated file has type code `%c%c%c%c' and creator code `%c%c%c%c'" */static ZCONST char Far QDOSdata[] = ".\n\ The QDOS extra field subtype is `%c%c%c%c'";static ZCONST char Far AOSVSdata[] = ".\n\ The AOS/VS extra field revision is %d.%d";static ZCONST char Far TandemUnstr[] = "Unstructured";static ZCONST char Far TandemRel[] = "Relative";static ZCONST char Far TandemEntry[] = "Entry Sequenced";static ZCONST char Far TandemKey[] = "Key Sequenced";static ZCONST char Far TandemEdit[] = "Edit";static ZCONST char Far TandemObj[] = "Object";static ZCONST char Far *TandemFileformat[6] = {TandemUnstr, TandemRel, TandemEntry, TandemKey, TandemEdit, TandemObj};static ZCONST char Far Tandemdata[] = ".\n\ The file was originally a Tandem %s file, with file code %u";static ZCONST char Far MD5data[] = ".\n\ The 128-bit MD5 signature is %s";#ifdef CMS_MVS static ZCONST char Far VmMvsExtraField[] = ".\n\ The stored file open mode (FLDATA TYPE) is \"%s\""; static ZCONST char Far VmMvsInvalid[] = "[invalid]";#endif /* CMS_MVS */static ZCONST char Far First20[] = ". The first\n 20 are: ";static ZCONST char Far ColonIndent[] = ":\n ";static ZCONST char Far efFormat[] = " %02x";static ZCONST char Far lExtraFieldType[] = "\n\ There %s a local extra field with ID 0x%04x (%s) and\n\ %u data bytes (%s).\n";static ZCONST char Far efIZuid[] = "GMT modification/access times and Unix UID/GID";static ZCONST char Far efIZnouid[] = "GMT modification/access times only";static ZCONST char Far NoFileComment[] = "\n There is no file comment.\n";static ZCONST char Far FileCommBegin[] = "\n\------------------------- file comment begins ----------------------------\n";static ZCONST char Far FileCommEnd[] = "\-------------------------- file comment ends -----------------------------\n";/* zi_time() strings */static ZCONST char Far BogusFmt[] = "%03d";static ZCONST char Far DMYHMTime[] = "%2u-%s-%02u %02u:%02u";static ZCONST char Far YMDHMSTime[] = "%u %s %u %02u:%02u:%02u";static ZCONST char Far DecimalTime[] = "%04u%02u%02u.%02u%02u%02u";#ifdef USE_EF_UT_TIME static ZCONST char Far YMDHMSTimeError[] = "???? ??? ?? ??:??:??";#endif#ifndef WINDLL/************************//* Function zi_opts() *//************************/int zi_opts(__G__ pargc, pargv) int *pargc; char ***pargv; __GDEF{ char **argv, *s; int argc, c, error=FALSE, negative=0; int hflag_slmv=TRUE, hflag_2=FALSE; /* diff options => diff defaults */ int tflag_slm=TRUE, tflag_2v=FALSE; int explicit_h=FALSE, explicit_t=FALSE;#ifdef MACOS uO.lflag = LFLAG; /* reset default on each call */#endif G.extract_flag = FALSE; /* zipinfo does not extract to disk */ argc = *pargc; argv = *pargv; while (--argc > 0 && (*++argv)[0] == '-') { s = argv[0] + 1; while ((c = *s++) != 0) { /* "!= 0": prevent Turbo C warning */ switch (c) { case '-': ++negative; break; case '1': /* shortest listing: JUST filenames */ if (negative) uO.lflag = -2, negative = 0; else uO.lflag = 1; break; case '2': /* just filenames, plus headers if specified */ if (negative) uO.lflag = -2, negative = 0; else uO.lflag = 2; break;#ifndef CMS_MVS case ('C'): /* -C: match filenames case-insensitively */ if (negative) uO.C_flag = FALSE, negative = 0; else uO.C_flag = TRUE; break;#endif /* !CMS_MVS */ case 'h': /* header line */ if (negative) hflag_2 = hflag_slmv = FALSE, negative = 0; else { hflag_2 = hflag_slmv = explicit_h = TRUE; if (uO.lflag == -1) uO.lflag = 0; } break; case 'l': /* longer form of "ls -l" type listing */ if (negative) uO.lflag = -2, negative = 0; else uO.lflag = 5; break; case 'm': /* medium form of "ls -l" type listing */ if (negative) uO.lflag = -2, negative = 0; else uO.lflag = 4; break;#ifdef MORE case 'M': /* send output through built-in "more" */ if (negative) G.M_flag = FALSE, negative = 0; else G.M_flag = TRUE; break;#endif case 's': /* default: shorter "ls -l" type listing */ if (negative) uO.lflag = -2, negative = 0; else uO.lflag = 3; break; case 't': /* totals line */ if (negative) tflag_2v = tflag_slm = FALSE, negative = 0; else { tflag_2v = tflag_slm = explicit_t = TRUE; if (uO.lflag == -1) uO.lflag = 0; } break; case ('T'): /* use (sortable) decimal time format */ if (negative) uO.T_flag = FALSE, negative = 0; else uO.T_flag = TRUE; break; case 'v': /* turbo-verbose listing */ if (negative) uO.lflag = -2, negative = 0; else uO.lflag = 10; break; case 'z': /* print zipfile comment */ if (negative) uO.zflag = negative = 0; else uO.zflag = 1; break; case 'Z': /* ZipInfo mode: ignore */ break; default: error = TRUE; break; } } } if ((argc-- == 0) || error) { *pargc = argc; *pargv = argv; return USAGE(error); }#ifdef MORE if (G.M_flag && !isatty(1)) /* stdout redirected: "more" func useless */ G.M_flag = 0;#endif /* if no listing options given (or all negated), or if only -h/-t given * with individual files specified, use default listing format */ if ((uO.lflag < 0) || ((argc > 0) && (uO.lflag == 0))) uO.lflag = LFLAG; /* set header and totals flags to default or specified values */ switch (uO.lflag) { case 0: /* 0: can only occur if either -t or -h explicitly given; */ case 2: /* therefore set both flags equal to normally false value */ uO.hflag = hflag_2; uO.tflag = tflag_2v; break; case 1: /* only filenames, *always* */ uO.hflag = FALSE; uO.tflag = FALSE; break; case 3: case 4: case 5: uO.hflag = ((argc > 0) && !explicit_h)? FALSE : hflag_slmv; uO.tflag = ((argc > 0) && !explicit_t)? FALSE : tflag_slm; break; case 10: uO.hflag = hflag_slmv; uO.tflag = tflag_2v; break; } *pargc = argc; *pargv = argv; return 0;} /* end function zi_opts() */#endif /* !WINDLL *//*******************************//* Function zi_end_central() *//*******************************/int zi_end_central(__G) /* return PK-type error code */ __GDEF{ int error = PK_COOL;/*--------------------------------------------------------------------------- Print out various interesting things about the zipfile. ---------------------------------------------------------------------------*/ /* header fits on one line, for anything up to 10GB and 10000 files: */ if (uO.hflag) Info(slide, 0, ((char *)slide, ((int)strlen(G.zipfn) < 39)?
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -