summaryrefslogtreecommitdiff
path: root/ace/Service_Config.cpp
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>1999-09-21 21:04:12 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>1999-09-21 21:04:12 +0000
commitaf89461c2841aae8b14cf43575147c84a12b240a (patch)
tree1e7d92f6a2713a4d1e0c6eed3f631870fa314583 /ace/Service_Config.cpp
parentdc1d5d24fea78bffa5b0c94cd48d9994bd63945c (diff)
downloadATCD-af89461c2841aae8b14cf43575147c84a12b240a.tar.gz
ChangeLogTag:Tue Sep 21 15:34:16 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
Diffstat (limited to 'ace/Service_Config.cpp')
-rw-r--r--ace/Service_Config.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/ace/Service_Config.cpp b/ace/Service_Config.cpp
index 83778fa80a1..68d2a96ea55 100644
--- a/ace/Service_Config.cpp
+++ b/ace/Service_Config.cpp
@@ -365,19 +365,21 @@ ACE_Service_Config::process_directives_i (void)
ace_yyerrno = 0;
ace_yylineno = 1;
- // Use an auto_ptr to make sure that we release this memory
- // regardless of how we exit...
+ ACE_Obstack *oldstack = ace_obstack;
+
ACE_NEW_RETURN (ace_obstack,
ACE_Obstack,
-1);
- auto_ptr<ACE_Obstack> holder (ace_obstack);
-
ace_yyparse ();
+ delete ace_obstack;
+ ace_obstack = oldstack;
+
if (ace_yyerrno > 0)
{
- errno = EINVAL; // This is a hack, better errors should be provided...
+ // This is a hack, better errors should be provided...
+ errno = EINVAL;
return ace_yyerrno;
}
else