summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2009-07-19 19:03:50 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2009-07-19 19:03:50 +0000
commit3bacefeb6c9779ada8199ceca5314433e56975a7 (patch)
treebae4f10754c72c3868dd1a86c40114d1229b47d3
parentd23e5618e9b46495ba0e122ee56019e454f0d9c5 (diff)
downloadATCD-3bacefeb6c9779ada8199ceca5314433e56975a7.tar.gz
-rw-r--r--CIAO/DAnCE/Logger/Logger_Service.cpp81
1 files changed, 34 insertions, 47 deletions
diff --git a/CIAO/DAnCE/Logger/Logger_Service.cpp b/CIAO/DAnCE/Logger/Logger_Service.cpp
index 62299a9ef93..7c1bbfdbf86 100644
--- a/CIAO/DAnCE/Logger/Logger_Service.cpp
+++ b/CIAO/DAnCE/Logger/Logger_Service.cpp
@@ -41,56 +41,43 @@ namespace DAnCE
void
Logger_Service::parse_args (int argc, ACE_TCHAR **argv)
{
- DANCE_TRACE ("DAnCE_Logger::parse_args");
-
- ACE_Get_Opt get_opts (argc,
- argv,
- "l:tf:",
- 0,
- 0,
- ACE_Get_Opt::RETURN_IN_ORDER);
-
- get_opts.long_option (ACE_TEXT("log-level"), 'l', ACE_Get_Opt::ARG_OPTIONAL);
- get_opts.long_option (ACE_TEXT("trace"), 't', ACE_Get_Opt::ARG_REQUIRED);
- get_opts.long_option (ACE_TEXT("log-file"), 'f', ACE_Get_Opt::ARG_OPTIONAL);
-
- char c;
- int level = 0;
- while ( (c = get_opts ()) != -1)
+ const ACE_TCHAR *shortl = ACE_TEXT("-l");
+ const ACE_TCHAR *longl = ACE_TEXT("--log-level");
+ const ACE_TCHAR *tracel = ACE_TEXT("--trace");
+ // const ACE_TCHAR *traces = "-t";
+ const ACE_TCHAR *lfl = ACE_TEXT("--log-file");
+ const ACE_TCHAR *lfs = ACE_TEXT("-f");
+
+ // We need to actually FIND the -l option, as the get_opt won't ignore
+ // the ORB options and such.
+ for (int i = 0; i < argc; ++i)
{
- switch (c)
+ if (//ACE_OS::strncmp (argv[i], traces, 2) == 0 ||
+ ACE_OS::strncmp (argv[i], tracel, 7) == 0)
{
- case 'l':
- DANCE_DEBUG ((LM_TRACE, DLINFO ACE_TEXT ("DAnCE_Logger::parse_args - ")
- ACE_TEXT ("Log level is %s\n"),
- get_opts.opt_arg ()));
- level = ACE_OS::atoi (get_opts.opt_arg ());
- if (level != 0)
- this->log_level_ = level;
- break;
- case 't':
- DANCE_DEBUG ((LM_TRACE, DLINFO ACE_TEXT ("DAnCE_Logger::parse_args - ")
- ACE_TEXT ("Trace enabled\n")));
this->trace_ = true;
- break;
-
- case 'f':
- DANCE_DEBUG ((LM_TRACE, DLINFO ACE_TEXT ("DAnCE_Logger::parse_args - ")
- ACE_TEXT ("Log file becomes %s\n"),
- get_opts.opt_arg ()));
- this->filename_ = get_opts.opt_arg ();
- break;
- case 'h':
- //case '?': // Display help for use of the server.
- //default:
- DANCE_ERROR ((LM_ERROR,
- "Log service options: %C\n"
- "\t-l|--log-level <level>\t\tLog level [1-10]\n"
- "\t-t|--trace\t\tEnable trace. Log level is set to 10\n"
- "\t-f|--log-file <file name> \t\tLog file\n"
- "\t-h|--help\t\t\tThis help message\n"
- ,argv [0]));
- break;
+ continue;
+ }
+
+ if (ACE_OS::strncmp (argv[i], shortl, 2) == 0 ||
+ ACE_OS::strncmp (argv[i], longl, 11 ) == 0)
+ {
+ if ((i + 1) < argc && *argv[i + 1] != '-')
+ {
+ int level = ACE_OS::atoi (argv[i + 1]);
+
+ if (level != 0)
+ this->log_level_ = level;
+ }
+ }
+
+ if (ACE_OS::strncmp (argv[i], lfs, 2) == 0 ||
+ ACE_OS::strncmp (argv[i], lfl, 10 ) == 0)
+ {
+ if ((i + 1) < argc && *argv[i + 1] != '-')
+ {
+ this->filename_ = ACE_TEXT_ALWAYS_CHAR (argv[i+1]);
+ }
}
}
}