int real_main(int preinit)
{
- SPConfig& conf=SPConfig::getConfig();
- if (preinit) {
+ if (shar_version) {
+ if (preinit)
+ fprintf(stdout, PACKAGE_STRING"\n");
+ return 0;
+ }
+ SPConfig& conf = SPConfig::getConfig();
+ if (preinit) {
// Initialize the SP library.
conf.setFeatures(
SPConfig::Listener |
extern const char* shar_config;
extern const char* shar_prefix;
extern bool shar_checkonly;
+extern bool shar_version;
// internal variables
SERVICE_STATUS ssStatus; // current status of the service
{
i++;
bConsole = TRUE;
- shar_checkonly=true;
+ shar_checkonly = true;
+ }
+ else if (_stricmp( "version", argv[i]+1) == 0)
+ {
+ i++;
+ bConsole = TRUE;
+ shar_version = true;
}
else if (_stricmp( "config", argv[i]+1) == 0)
{
printf("%s -remove <name> to remove the named service\n", argv[0]);
printf("%s -console to run as a console app for debugging\n", argv[0]);
printf("%s -check to run as a console app and check configuration\n", argv[0]);
+ printf("%s -version to run as a console app and print the version\n", argv[0]);
printf("\t-stdout <path> to redirect stdout stream\n");
printf("\t-stderr <path> to redirect stderr stream\n");
printf("\t-prefix <dir> to specify the installation directory\n");