This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
when the parameter value is changed after invoking? How can stack make wrong?
- From: TaoFengmei <taofengmei at huawei dot com>
- To: help-gcc at gnu dot org <help-gcc at gnu dot org>
- Cc: karuottu at freenet dot hut dot fi <karuottu at freenet dot hut dot fi>
- Date: Sun, 3 Mar 2002 18:57:53 +0800
- Subject: when the parameter value is changed after invoking? How can stack make wrong?
hi,
in unixware7.1.1, compiled by gcc2.95.2,
in main function invoke a member funtion "parse"
parser->parse(xmlFile);
parameter xmlFile value is changed after into funtion parse.
before invoke this funtion:
xmlFile=0x8047c94 "1.xml"
after into the funtion parse(do nothing)
systemId=0x80472d8 "\004ï¿,s\004\b\213$Ê¿(s\004\bès\004\b\214s\004\b\022$Ê¿à~÷¿ i\006\bôs\004\bôs\004\b\235öÔ¿4\206÷¿d¹¿d\003Ê¿\034`
Å¿Ìi\006\b", reuseGrammar=216) at DOMParser.cpp:344
function parse
class DOMParser
{
...........
void parse(const XMLCh* const systemId, const bool reuseGrammar = false);
............
};
void DOMParser::parse(const char* const systemId, const bool reuseGrammar)
{
// Avoid multiple entrance
if (fParseInProgress)
ThrowXML(IOException, XMLExcepts::Gen_ParseInProgress);
try
{
fParseInProgress = true;
fScanner->scanDocument(systemId, reuseGrammar);
fParseInProgress = false;
}
catch(...)
{
fParseInProgress = false;
throw;
}
}
thanks,
tao