2022-10-19 20:16:13 +00:00
|
|
|
#include "parser.h"
|
2022-10-14 22:15:32 +00:00
|
|
|
|
|
|
|
void ShowTextHandle(const char *description, Handle text) {
|
|
|
|
CWMemHandle mh;
|
|
|
|
|
|
|
|
if (!text)
|
|
|
|
return;
|
|
|
|
|
|
|
|
if (description)
|
2023-01-15 21:50:41 +00:00
|
|
|
CLPStatus(CLPStr71, description);
|
2022-10-14 22:15:32 +00:00
|
|
|
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++) {
|
2022-10-19 20:16:13 +00:00
|
|
|
if (parseopts.plugins[x].plugintype == CWDROPINDRIVERTYPE) continue;
|
|
|
|
if (parseopts.plugins[x].plugintype == CWDROPINPARSERTYPE) continue;
|
2022-10-14 22:15:32 +00:00
|
|
|
|
|
|
|
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;
|
|
|
|
}
|