mirror of https://git.wuffs.org/MWCC
84 lines
2.3 KiB
C
84 lines
2.3 KiB
C
|
#include "mwcc_decomp.h"
|
||
|
|
||
|
void ShowTextHandle(const char *description, Handle text) {
|
||
|
CWMemHandle mh;
|
||
|
|
||
|
if (!text)
|
||
|
return;
|
||
|
|
||
|
if (description)
|
||
|
CLPStatus(71, description);
|
||
|
CWSecretAttachHandle(parseopts.context, text, &mh);
|
||
|
CWParserDisplayTextHandle(parseopts.context, description, mh);
|
||
|
}
|
||
|
|
||
|
void ShowVersion(Boolean decorate) {
|
||
|
char *vplugin;
|
||
|
char *valtplugin;
|
||
|
const char *bdate;
|
||
|
const char *btime;
|
||
|
Handle txt;
|
||
|
int x;
|
||
|
|
||
|
vplugin = 0;
|
||
|
valtplugin = 0;
|
||
|
if (parseopts.printedVersion)
|
||
|
return;
|
||
|
|
||
|
txt = NewHandle(0);
|
||
|
if (!txt) {
|
||
|
fprintf(stderr, "\n*** Out of memory\n");
|
||
|
exit(-23);
|
||
|
}
|
||
|
|
||
|
for (x = 0; x < parseopts.numPlugins; x++) {
|
||
|
if (parseopts.plugins[x].plugintype == CWFOURCHAR('c','l','d','r')) continue;
|
||
|
if (parseopts.plugins[x].plugintype == CWFOURCHAR('P','a','r','s')) continue;
|
||
|
|
||
|
if (pTool->TYPE == parseopts.plugins[x].plugintype) {
|
||
|
if (!vplugin && pTool->LANG == parseopts.plugins[x].language)
|
||
|
vplugin = parseopts.plugins[x].version;
|
||
|
else
|
||
|
valtplugin = parseopts.plugins[x].version;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
CWParserGetBuildDate(parseopts.context, &bdate, &btime);
|
||
|
HPrintF(txt, "\n");
|
||
|
if (parseopts.toolVersion) {
|
||
|
HPrintF(
|
||
|
txt,
|
||
|
"%s.\n%s, %s\nAll rights reserved.\n%s\n",
|
||
|
pTool->toolInfo,
|
||
|
parseopts.toolVersion->copyright,
|
||
|
parseopts.toolVersion->company,
|
||
|
parseopts.toolVersion->version
|
||
|
);
|
||
|
} else {
|
||
|
HPrintF(
|
||
|
txt,
|
||
|
"%s.\nCopyright (c)%s Metrowerks, Inc.\nAll rights reserved.\n%s\n",
|
||
|
pTool->toolInfo,
|
||
|
pTool->copyright,
|
||
|
vplugin ? vplugin : valtplugin ? valtplugin : ""
|
||
|
);
|
||
|
}
|
||
|
|
||
|
HPrintF(txt, "Runtime Built: %s %s\n", bdate, btime);
|
||
|
HPrintF(txt, "\n");
|
||
|
|
||
|
if (decorate) {
|
||
|
HPrintF(
|
||
|
txt,
|
||
|
"Please enter '%s %chelp' for information about options.\n\n",
|
||
|
OS_GetFileNamePtr(parseopts.args->argv[0]),
|
||
|
MAINOPTCHAR[0]
|
||
|
);
|
||
|
}
|
||
|
|
||
|
ShowTextHandle(0, txt);
|
||
|
DisposeHandle(txt);
|
||
|
|
||
|
parseopts.printedVersion = 1;
|
||
|
}
|