⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rar.cpp

📁 source code for unrar3.3.4,uppack the .rar files,for multi-os
💻 CPP
字号:
#include "rar.hpp"#include "smallfn.cpp"#ifdef _DJGPPextern "C" char **__crt0_glob_function (char *arg) { return 0; }extern "C" void   __crt0_load_environment_file (char *progname) { }#endif#if !defined(GUI) && !defined(RARDLL)int main(int argc, char *argv[]){#ifdef _UNIX  setlocale(LC_ALL,"");#endif#ifndef SFX_MODULE  setbuf(stdout,NULL);  #ifdef _EMX    EnumConfigPaths(argv[0],-1);  #endif#endif  ErrHandler.SetSignalHandlers(true);  RARInitData();#ifdef SFX_MODULE  char ModuleName[NM];#ifdef _WIN_32  GetModuleFileName(NULL,ModuleName,sizeof(ModuleName));#else  strcpy(ModuleName,argv[0]);#endif#endif#ifdef _WIN_32  SetErrorMode(SEM_FAILCRITICALERRORS|SEM_NOOPENFILEERRORBOX);#endif  bool ShutdownOnClose;#ifdef ALLOW_EXCEPTIONS  try #endif  {      CommandData Cmd;#ifdef SFX_MODULE    strcpy(Cmd.Command,"X");    char *Switch=NULL;#ifdef _SFX_RTL_    char *CmdLine=GetCommandLine();    if (CmdLine!=NULL && *CmdLine=='\"')      CmdLine=strchr(CmdLine+1,'\"');    if (CmdLine!=NULL && (CmdLine=strpbrk(CmdLine," /"))!=NULL)    {      while (isspace(*CmdLine))        CmdLine++;      Switch=CmdLine;    }#else    Switch=argc>1 ? argv[1]:NULL;#endif    if (Switch!=NULL && Cmd.IsSwitch(Switch[0]))    {      int UpperCmd=toupper(Switch[1]);      switch(UpperCmd)      {        case 'T':        case 'V':          Cmd.Command[0]=UpperCmd;          break;        case '?':          Cmd.OutHelp();          break;      }    }    Cmd.AddArcName(ModuleName,NULL);#else    if (Cmd.IsConfigEnabled(argc,argv))    {      Cmd.ReadConfig(argc,argv);      Cmd.ParseEnvVar();    }    for (int I=1;I<argc;I++)      Cmd.ParseArg(argv[I],NULL);#endif    Cmd.ParseDone();    InitConsoleOptions(Cmd.MsgStream,Cmd.Sound);    InitSystemOptions(Cmd.SleepTime);    InitLogOptions(Cmd.LogName);    ErrHandler.SetSilent(Cmd.AllYes || Cmd.MsgStream==MSG_NULL);    ErrHandler.SetShutdown(Cmd.Shutdown);    Cmd.OutTitle();    Cmd.ProcessCommand();  }#ifdef ALLOW_EXCEPTIONS  catch (int ErrCode)  {    ErrHandler.SetErrorCode(ErrCode);  }#ifdef ENABLE_BAD_ALLOC  catch (bad_alloc)  {    ErrHandler.SetErrorCode(MEMORY_ERROR);  }#endif  catch (...)  {    ErrHandler.SetErrorCode(FATAL_ERROR);  }#endif  File::RemoveCreated();#if defined(SFX_MODULE) && defined(_DJGPP)  _chmod(ModuleName,1,0x20);#endif  return(ErrHandler.GetErrorCode());}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -