This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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\bs\004\b\214s\004\b\022$ʿ~ i\006\bs\004\bs\004\b\235Կ4\206dd\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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]