Line | Count | Source (jump to first uncovered line) |
1 | | void CommandData::OutTitle() |
2 | 0 | { |
3 | 0 | if (BareOutput || DisableCopyright) |
4 | 0 | return; |
5 | | #if defined(__GNUC__) && defined(SFX_MODULE) |
6 | | mprintf(St(MCopyrightS)); |
7 | | #else |
8 | | #ifndef SILENT |
9 | | static bool TitleShown=false; |
10 | | if (TitleShown) |
11 | | return; |
12 | | TitleShown=true; |
13 | | |
14 | | wchar Version[80]; |
15 | | if (RARVER_BETA!=0) |
16 | | swprintf(Version,ASIZE(Version),L"%d.%02d %ls %d",RARVER_MAJOR,RARVER_MINOR,St(MBeta),RARVER_BETA); |
17 | | else |
18 | | swprintf(Version,ASIZE(Version),L"%d.%02d",RARVER_MAJOR,RARVER_MINOR); |
19 | | #if defined(_WIN_32) || defined(_WIN_64) |
20 | | wcsncatz(Version,L" ",ASIZE(Version)); |
21 | | #endif |
22 | | #ifdef _WIN_32 |
23 | | wcsncatz(Version,St(Mx86),ASIZE(Version)); |
24 | | #endif |
25 | | #ifdef _WIN_64 |
26 | | wcsncatz(Version,St(Mx64),ASIZE(Version)); |
27 | | #endif |
28 | | if (PrintVersion) |
29 | | { |
30 | | mprintf(L"%s",Version); |
31 | | exit(0); |
32 | | } |
33 | | mprintf(St(MUCopyright),Version,RARVER_YEAR); |
34 | | #endif |
35 | 0 | #endif |
36 | 0 | } |
37 | | |
38 | | |
39 | | inline bool CmpMSGID(MSGID i1,MSGID i2) |
40 | 0 | { |
41 | 0 | #ifdef MSGID_INT |
42 | 0 | return i1==i2; |
43 | 0 | #else |
44 | 0 | // If MSGID is const char*, we cannot compare pointers only. |
45 | 0 | // Pointers to different instances of same string can differ, |
46 | 0 | // so we need to compare complete strings. |
47 | 0 | return wcscmp(i1,i2)==0; |
48 | 0 | #endif |
49 | 0 | } |
50 | | |
51 | | void CommandData::OutHelp(RAR_EXIT ExitCode) |
52 | 0 | { |
53 | | #if !defined(SILENT) |
54 | | OutTitle(); |
55 | | static MSGID Help[]={ |
56 | | #ifdef SFX_MODULE |
57 | | // Console SFX switches definition. |
58 | | MCHelpCmd,MSHelpCmdE,MSHelpCmdT,MSHelpCmdV |
59 | | #else |
60 | | // UnRAR switches definition. |
61 | | MUNRARTitle1,MRARTitle2,MCHelpCmd,MCHelpCmdE,MCHelpCmdL, |
62 | | MCHelpCmdP,MCHelpCmdT,MCHelpCmdV,MCHelpCmdX,MCHelpSw,MCHelpSwm, |
63 | | MCHelpSwAT,MCHelpSwAC,MCHelpSwAD,MCHelpSwAG,MCHelpSwAI,MCHelpSwAP, |
64 | | MCHelpSwCm,MCHelpSwCFGm,MCHelpSwCL,MCHelpSwCU,MCHelpSwDH,MCHelpSwEP, |
65 | | MCHelpSwEP3,MCHelpSwEP4,MCHelpSwF,MCHelpSwIDP,MCHelpSwIERR, |
66 | | MCHelpSwINUL,MCHelpSwIOFF,MCHelpSwKB,MCHelpSwME,MCHelpSwN,MCHelpSwNa, |
67 | | MCHelpSwNal,MCHelpSwO,MCHelpSwOC,MCHelpSwOL,MCHelpSwOP,MCHelpSwOR, |
68 | | MCHelpSwOW,MCHelpSwP,MCHelpSwR,MCHelpSwRI,MCHelpSwSC,MCHelpSwSI, |
69 | | MCHelpSwSL,MCHelpSwSM,MCHelpSwTA,MCHelpSwTB,MCHelpSwTN,MCHelpSwTO, |
70 | | MCHelpSwTS,MCHelpSwU,MCHelpSwVUnr,MCHelpSwVER,MCHelpSwVP,MCHelpSwX, |
71 | | MCHelpSwXa,MCHelpSwXal,MCHelpSwY |
72 | | #endif |
73 | | }; |
74 | | |
75 | | for (uint I=0;I<ASIZE(Help);I++) |
76 | | { |
77 | | #ifndef SFX_MODULE |
78 | | if (CmpMSGID(Help[I],MCHelpSwV)) |
79 | | continue; |
80 | | #ifndef _WIN_ALL |
81 | | static MSGID Win32Only[]={ |
82 | | MCHelpSwIEML,MCHelpSwVD,MCHelpSwAO,MCHelpSwOS,MCHelpSwIOFF, |
83 | | MCHelpSwEP2,MCHelpSwOC,MCHelpSwONI,MCHelpSwDR,MCHelpSwRI |
84 | | }; |
85 | | bool Found=false; |
86 | | for (uint J=0;J<ASIZE(Win32Only);J++) |
87 | | if (CmpMSGID(Help[I],Win32Only[J])) |
88 | | { |
89 | | Found=true; |
90 | | break; |
91 | | } |
92 | | if (Found) |
93 | | continue; |
94 | | #endif |
95 | | #if !defined(_UNIX) && !defined(_WIN_ALL) |
96 | | if (CmpMSGID(Help[I],MCHelpSwOW)) |
97 | | continue; |
98 | | #endif |
99 | | #if !defined(_WIN_ALL) && !defined(_EMX) |
100 | | if (CmpMSGID(Help[I],MCHelpSwAC)) |
101 | | continue; |
102 | | #endif |
103 | | #ifndef SAVE_LINKS |
104 | | if (CmpMSGID(Help[I],MCHelpSwOL)) |
105 | | continue; |
106 | | #endif |
107 | | #ifndef RAR_SMP |
108 | | if (CmpMSGID(Help[I],MCHelpSwMT)) |
109 | | continue; |
110 | | #endif |
111 | | #endif |
112 | | mprintf(St(Help[I])); |
113 | | } |
114 | | mprintf(L"\n"); |
115 | | ErrHandler.Exit(ExitCode); |
116 | | #endif |
117 | 0 | } |
118 | | |