summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-01-14 21:16:11 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-01-14 21:16:11 +0000
commit107454ed773671b56108a823dffdcec39ec9163f (patch)
tree53de8e840db9c1a9a362e0daa95be13d568a2f8a
parenteb6d23187375faf26614bf1e51cb5701e5ea09a5 (diff)
downloadATCD-107454ed773671b56108a823dffdcec39ec9163f.tar.gz
ChangeLogTag: Tue Jan 14 15:10:53 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/ChangeLog11
-rw-r--r--TAO/TAO_IDL/driver/drv_args.cpp9
2 files changed, 19 insertions, 1 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index fff293c8826..66c908642f7 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,14 @@
+Tue Jan 14 15:10:53 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/driver/drv_args.cpp:
+
+ Added a check and graceful exit for the case where the -H command
+ line option is not followed by a selection (i.e., is followed by
+ another dash-prefixed command line option or by nothing). The case
+ where the selection exists but is invalid was already handled.
+ Thanks to Chip Jones <jones_c@ociweb.com> for reporting the bug.
+ This fix closes [BUGID:1422].
+
Tue Jan 14 16:13:09 2003 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
* orbsvcs/IFR_Service/Makefile.IFR_Service: Added a check for
diff --git a/TAO/TAO_IDL/driver/drv_args.cpp b/TAO/TAO_IDL/driver/drv_args.cpp
index 2168ab848e0..25b005de2e0 100644
--- a/TAO/TAO_IDL/driver/drv_args.cpp
+++ b/TAO/TAO_IDL/driver/drv_args.cpp
@@ -768,7 +768,13 @@ DRV_parse_args (long ac, char **av)
case 'H':
idl_global->append_idl_flag (av[i+1]);
- if (ACE_OS::strcmp (av[i+1], "dynamic_hash") == 0)
+ if (av[i+1] == 0 || av[i+1][0] == '-')
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("no selection for -H option\n")));
+ ACE_OS::exit (99);
+ }
+ else if (ACE_OS::strcmp (av[i+1], "dynamic_hash") == 0)
{
be_global->lookup_strategy (
BE_GlobalData::TAO_DYNAMIC_HASH
@@ -798,6 +804,7 @@ DRV_parse_args (long ac, char **av)
ACE_TEXT ("%s: unknown operation lookup <%s>\n"),
av[0],
av[i+1]));
+ ACE_OS::exit (99);
}
i++;