?? unzip.c
字號:
if (uO.vflag >= 2 && argc == -1) { /* "unzip -v" */ show_version_info(__G); return PK_OK; } if (!G.noargs && !error) error = PK_PARAM; /* had options (not -h or -v) but no zipfile */#endif /* !SFX */ return USAGE(error); }#ifdef SFX /* print our banner unless we're being fairly quiet */ if (uO.qflag < 2) Info(slide, error? 1 : 0, ((char *)slide, LoadFarString(UnzipSFXBanner), UZ_MAJORVER, UZ_MINORVER, UZ_PATCHLEVEL, UZ_BETALEVEL, LoadFarStringSmall(VersionDate)));#ifdef BETA /* always print the beta warning: no unauthorized distribution!! */ Info(slide, error? 1 : 0, ((char *)slide, LoadFarString(BetaVersion), "\n", "SFX"));#endif#endif /* SFX */ if (uO.cflag || uO.tflag || uO.vflag || uO.zflag#ifdef TIMESTAMP || uO.T_flag#endif ) G.extract_flag = FALSE; else G.extract_flag = TRUE; *pargc = argc; *pargv = argv; return PK_OK;} /* end function uz_opts() *//********************//* Function usage() *//********************/#ifdef SFX# ifdef VMS# define LOCAL "X. Quote uppercase options"# endif# ifdef UNIX# define LOCAL "X"# endif# ifdef DOS_OS2_W32# define LOCAL "s$"# endif# if (defined(FLEXOS) || defined(NLM))# define LOCAL "s"# endif# ifdef AMIGA# define LOCAL "N"# endif /* Default for all other systems: */# ifndef LOCAL# define LOCAL ""# endif# ifdef MORE# define SFXOPT1 "M"# else# define SFXOPT1 ""# endifint usage(__G__ error) /* return PK-type error code */ __GDEF int error;{ Info(slide, error? 1 : 0, ((char *)slide, LoadFarString(UnzipSFXBanner), UZ_MAJORVER, UZ_MINORVER, UZ_PATCHLEVEL, UZ_BETALEVEL, LoadFarStringSmall(VersionDate))); Info(slide, error? 1 : 0, ((char *)slide, LoadFarString(UnzipSFXOpts), SFXOPT1, LOCAL));#ifdef BETA Info(slide, error? 1 : 0, ((char *)slide, LoadFarString(BetaVersion), "\n", "SFX"));#endif if (error) return PK_PARAM; else return PK_COOL; /* just wanted usage screen: no error */} /* end function usage() */#else /* !SFX */# ifdef VMS# define QUOT '\"'# define QUOTS "\""# else# define QUOT ' '# define QUOTS ""# endifint usage(__G__ error) /* return PK-type error code */ __GDEF int error;{ int flag = (error? 1 : 0);/*--------------------------------------------------------------------------- Print either ZipInfo usage or UnZip usage, depending on incantation. (Strings must be no longer than 512 bytes for Turbo C, apparently.) ---------------------------------------------------------------------------*/ if (uO.zipinfo_mode) {#ifndef NO_ZIPINFO Info(slide, flag, ((char *)slide, LoadFarString(ZipInfoUsageLine1), ZI_MAJORVER, ZI_MINORVER, UZ_PATCHLEVEL, UZ_BETALEVEL, LoadFarStringSmall(VersionDate), LoadFarStringSmall2(ZipInfoExample), QUOTS,QUOTS)); Info(slide, flag, ((char *)slide, LoadFarString(ZipInfoUsageLine2))); Info(slide, flag, ((char *)slide, LoadFarString(ZipInfoUsageLine3), QUOT,QUOT, QUOT,QUOT, LoadFarStringSmall(ZipInfoUsageLine4)));#ifdef VMS Info(slide, flag, ((char *)slide, "\nRemember that non-lowercase\ filespecs must be quoted in VMS (e.g., \"Makefile\").\n"));#endif#endif /* !NO_ZIPINFO */ } else { /* UnZip mode */ Info(slide, flag, ((char *)slide, LoadFarString(UnzipUsageLine1), UZ_MAJORVER, UZ_MINORVER, UZ_PATCHLEVEL, UZ_BETALEVEL, LoadFarStringSmall(VersionDate)));#ifdef BETA Info(slide, flag, ((char *)slide, LoadFarString(BetaVersion), "", ""));#endif Info(slide, flag, ((char *)slide, LoadFarString(UnzipUsageLine2), ZIPINFO_MODE_OPTION, LoadFarStringSmall(ZipInfoMode)));#ifdef VMS if (!error) /* maybe no command-line tail found; show extra help */ Info(slide, flag, ((char *)slide, LoadFarString(VMSusageLine2b)));#endif Info(slide, flag, ((char *)slide, LoadFarString(UnzipUsageLine3), LoadFarStringSmall(local1))); Info(slide, flag, ((char *)slide, LoadFarString(UnzipUsageLine4), QUOT,QUOT, QUOT,QUOT, LoadFarStringSmall(local2), QUOT,QUOT, LoadFarStringSmall2(local3))); /* This is extra work for SMALL_MEM, but it will work since * LoadFarStringSmall2 uses the same buffer. Remember, this * is a hack. */ Info(slide, flag, ((char *)slide, LoadFarString(UnzipUsageLine5), LoadFarStringSmall(Example2), LoadFarStringSmall2(Example3), LoadFarStringSmall2(Example3))); } /* end if (uO.zipinfo_mode) */ if (error) return PK_PARAM; else return PK_COOL; /* just wanted usage screen: no error */} /* end function usage() */#endif /* ?SFX */#ifndef SFX/********************************//* Function show_version_info() *//********************************/static void show_version_info(__G) __GDEF{ if (uO.qflag > 3) /* "unzip -vqqqq" */ Info(slide, 0, ((char *)slide, "%d\n", (UZ_MAJORVER*100 + UZ_MINORVER*10 + UZ_PATCHLEVEL))); else { char *envptr, *getenv(); int numopts = 0; Info(slide, 0, ((char *)slide, LoadFarString(UnzipUsageLine1v), UZ_MAJORVER, UZ_MINORVER, UZ_PATCHLEVEL, UZ_BETALEVEL, LoadFarStringSmall(VersionDate))); Info(slide, 0, ((char *)slide, LoadFarString(UnzipUsageLine2v))); version(__G); Info(slide, 0, ((char *)slide, LoadFarString(CompileOptions)));#ifdef ACORN_FTYPE_NFS Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(AcornFtypeNFS))); ++numopts;#endif#ifdef ASM_CRC Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(AsmCRC))); ++numopts;#endif#ifdef ASM_INFLATECODES Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(AsmInflateCodes))); ++numopts;#endif#ifdef CHECK_VERSIONS Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(Check_Versions))); ++numopts;#endif#ifdef COPYRIGHT_CLEAN Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(Copyright_Clean))); ++numopts;#endif#ifdef DEBUG Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(UDebug))); ++numopts;#endif#ifdef DEBUG_TIME Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(DebugTime))); ++numopts;#endif#ifdef DLL Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(Dll))); ++numopts;#endif#ifdef DOSWILD Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(DosWild))); ++numopts;#endif#ifdef LZW_CLEAN Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(LZW_Clean))); ++numopts;#endif#ifndef MORE Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(No_More))); ++numopts;#endif#ifdef NO_ZIPINFO Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(No_ZipInfo))); ++numopts;#endif#ifdef NTSD_EAS Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(NTSDExtAttrib))); ++numopts;#endif#ifdef OLD_THEOS_EXTRA Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(OldTheosExtra))); ++numopts;#endif#ifdef OS2_EAS Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(OS2ExtAttrib))); ++numopts;#endif#ifdef QLZIP Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(SMSExFldOnUnix))); ++numopts;#endif#ifdef REENTRANT Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(Reentrant))); ++numopts;#endif#ifdef REGARGS Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(RegArgs))); ++numopts;#endif#ifdef RETURN_CODES Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(Return_Codes))); ++numopts;#endif#ifdef SET_DIR_ATTRIB Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(SetDirAttrib))); ++numopts;#endif#ifdef TIMESTAMP Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(TimeStamp))); ++numopts;#endif#ifdef UNIXBACKUP Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(UnixBackup))); ++numopts;#endif#ifdef USE_EF_UT_TIME Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(Use_EF_UT_time))); ++numopts;#endif#ifndef COPYRIGHT_CLEAN Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(Use_Smith_Code))); ++numopts;#endif#ifndef LZW_CLEAN Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(Use_Unshrink))); ++numopts;#endif#ifdef USE_DEFLATE64 Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(Use_Deflate64))); ++numopts;#endif#ifdef MULT_VOLUME Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(Use_MultiVol))); ++numopts;#endif# if (defined(__DJGPP__) && (__DJGPP__ >= 2))# ifdef USE_DJGPP_ENV Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(Use_DJGPP_Env))); ++numopts;# endif# ifdef USE_DJGPP_GLOB Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(Use_DJGPP_Glob))); ++numopts;# endif# endif /* __DJGPP__ && (__DJGPP__ >= 2) */#ifdef USE_VFAT Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(Use_VFAT_support))); ++numopts;#endif#ifdef USE_ZLIB sprintf((char *)(slide+256), LoadFarStringSmall(UseZlib), ZLIB_VERSION, zlib_version); Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), (char *)(slide+256))); ++numopts;#endif#ifdef VMS_TEXT_CONV Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(VmsTextConv))); ++numopts;#endif#ifdef VMSCLI Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(VmsCLI))); ++numopts;#endif#ifdef VMSWILD Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat), LoadFarStringSmall(VmsWild))); ++numopts;#endif#ifdef WILD_STOP_AT_DIR Info(slide, 0, ((char *)slide, LoadFarString(CompileOptFormat),
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -