Fixed istream parsing (again)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@23 99668b35-9821-0410-8761-19e4c4f06640
This commit is contained in:
parent
5203fa2e22
commit
33c5406641
@ -1919,19 +1919,16 @@ namespace pugi
|
|||||||
length = stream.tellg();
|
length = stream.tellg();
|
||||||
stream.seekg(pos, std::ios_base::beg);
|
stream.seekg(pos, std::ios_base::beg);
|
||||||
|
|
||||||
_buffer = new char[length + 1];
|
char* s = new char[length + 1];
|
||||||
stream.read(_buffer, length);
|
stream.read(s, length);
|
||||||
_buffer[length] = 0;
|
s[length] = 0;
|
||||||
|
|
||||||
parse(_buffer, optmsk); // Parse the input string.
|
parse(transfer_ownership_tag(), s, optmsk); // Parse the input string.
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
char* xml_parser::parse(char* xmlstr,unsigned int optmsk)
|
char* xml_parser::parse(char* xmlstr,unsigned int optmsk)
|
||||||
{
|
{
|
||||||
if (xmlstr == _buffer)
|
|
||||||
_buffer = 0;
|
|
||||||
|
|
||||||
free();
|
free();
|
||||||
|
|
||||||
if(!xmlstr) return 0;
|
if(!xmlstr) return 0;
|
||||||
@ -1949,9 +1946,6 @@ namespace pugi
|
|||||||
|
|
||||||
char* xml_parser::parse(const transfer_ownership_tag&, char* xmlstr,unsigned int optmsk)
|
char* xml_parser::parse(const transfer_ownership_tag&, char* xmlstr,unsigned int optmsk)
|
||||||
{
|
{
|
||||||
if (xmlstr == _buffer)
|
|
||||||
_buffer = 0;
|
|
||||||
|
|
||||||
free();
|
free();
|
||||||
|
|
||||||
if(!xmlstr) return 0;
|
if(!xmlstr) return 0;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user