diff options
author | dhinton <dhinton@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-01-08 21:53:29 +0000 |
---|---|---|
committer | dhinton <dhinton@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-01-08 21:53:29 +0000 |
commit | 710200c52feae1f3b12cb02280ed9e43cd0e3c17 (patch) | |
tree | c3a9a3a47690f7ba4986f8c83efacc19d739bfcc /ace/Get_Opt.cpp | |
parent | 162b2a6910948919a9ad21788613589f5c4ecdda (diff) | |
download | ATCD-710200c52feae1f3b12cb02280ed9e43cd0e3c17.tar.gz |
ChangeLogTag: Tue Jan 8 15:51:06 2002 Don Hinton <dhinton@gmx.net>
Diffstat (limited to 'ace/Get_Opt.cpp')
-rw-r--r-- | ace/Get_Opt.cpp | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/ace/Get_Opt.cpp b/ace/Get_Opt.cpp index d198ef01cf8..71d91cae7b1 100644 --- a/ace/Get_Opt.cpp +++ b/ace/Get_Opt.cpp @@ -234,13 +234,13 @@ ACE_Get_Opt::long_option_i (void) p = this->long_opts_[option_index]; ACE_ASSERT (p); - if (!ACE_OS::strncmp (p->name_.c_str (), this->nextchar_, len)) + if (!ACE_OS::strncmp (p->name_, this->nextchar_, len)) { // Got at least a partial match. pfound = p; indfound = option_index; hits += 1; - if (len == p->name_.length ()) + if (len == ACE_OS::strlen(p->name_)) { // And in fact, it an exact match, so let's use it. exact = 1; @@ -279,7 +279,7 @@ ACE_Get_Opt::long_option_i (void) if (this->opterr) ACE_ERROR ((LM_ERROR, ACE_LIB_TEXT ("%s: long option `--%s' doesn't allow an argument\n"), - this->argv_[0], pfound->name_.c_str ())); + this->argv_[0], pfound->name_)); // The spec doesn't cover this, so we keep going and the program // doesn't know we ignored an argument if opt_err is off!!! } @@ -298,7 +298,7 @@ ACE_Get_Opt::long_option_i (void) if (this->opterr) ACE_ERROR ((LM_ERROR, ACE_LIB_TEXT ("%s: long option '--%s' requires an argument\n"), - this->argv_[0], pfound->name_.c_str ())); + this->argv_[0], pfound->name_)); this->nextchar_ = 0; return this->has_colon_ ? ':' : '?'; } @@ -517,7 +517,7 @@ ACE_Get_Opt::long_option (void) const { ACE_TRACE ("ACE_Get_Opt::long_option (void)"); if (this->long_option_) - return this->long_option_->name_.c_str (); + return this->long_option_->name_; return 0; } @@ -606,3 +606,24 @@ ACE_Get_Opt::permute (void) } return 0; } + +ACE_Get_Opt::ACE_Get_Opt_Long_Option::ACE_Get_Opt_Long_Option (const ACE_TCHAR *name, + int has_arg, + int val) + : name_ (ACE::strnew(name)), + has_arg_ (has_arg), + val_ (val) +{} + +ACE_Get_Opt::ACE_Get_Opt_Long_Option::~ACE_Get_Opt_Long_Option (void) +{ + delete [] this->name_; +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +template class ACE_Array<ACE_Get_Opt::ACE_Get_Opt_Long_Option *>; +template class ACE_Array_Base<ACE_Get_Opt::ACE_Get_Opt_Long_Option *>; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#pragma instantiate ACE_Array<ACE_Get_Opt::ACE_Get_Opt_Long_Option *> +#pragma instantiate ACE_Array_Base<ACE_Get_Opt::ACE_Get_Opt_Long_Option *> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ |