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
commite068dbe4f197151c10b86f1cfb298d8bb75cbf23 (patch)
tree1e7d92f6a2713a4d1e0c6eed3f631870fa314583 /ace/Service_Config.cpp
parente40de40535e929a8562eb1ceb647122541c5b925 (diff)
downloadATCD-e068dbe4f197151c10b86f1cfb298d8bb75cbf23.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