summaryrefslogtreecommitdiff
path: root/ace/Get_Opt.cpp
diff options
context:
space:
mode:
authordhinton <dhinton@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-01-08 21:53:29 +0000
committerdhinton <dhinton@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-01-08 21:53:29 +0000
commit710200c52feae1f3b12cb02280ed9e43cd0e3c17 (patch)
treec3a9a3a47690f7ba4986f8c83efacc19d739bfcc /ace/Get_Opt.cpp
parent162b2a6910948919a9ad21788613589f5c4ecdda (diff)
downloadATCD-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.cpp31
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 */