input/InputStream: migrate from class Error to C++ exceptions
This commit is contained in:
@@ -43,25 +43,21 @@ ExpatParser::Parse(const char *data, size_t length, bool is_final)
|
||||
throw ExpatError(parser);
|
||||
}
|
||||
|
||||
bool
|
||||
ExpatParser::Parse(InputStream &is, Error &error)
|
||||
void
|
||||
ExpatParser::Parse(InputStream &is)
|
||||
{
|
||||
assert(is.IsReady());
|
||||
|
||||
while (true) {
|
||||
char buffer[4096];
|
||||
size_t nbytes = is.LockRead(buffer, sizeof(buffer), error);
|
||||
size_t nbytes = is.LockRead(buffer, sizeof(buffer));
|
||||
if (nbytes == 0)
|
||||
break;
|
||||
|
||||
Parse(buffer, nbytes, false);
|
||||
}
|
||||
|
||||
if (error.IsDefined())
|
||||
return false;
|
||||
|
||||
Parse("", 0, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
const char *
|
||||
|
@@ -66,7 +66,7 @@ public:
|
||||
|
||||
void Parse(const char *data, size_t length, bool is_final);
|
||||
|
||||
bool Parse(InputStream &is, Error &error);
|
||||
void Parse(InputStream &is);
|
||||
|
||||
gcc_pure
|
||||
static const char *GetAttribute(const XML_Char **atts,
|
||||
@@ -97,8 +97,8 @@ public:
|
||||
parser.Parse(data, length, is_final);
|
||||
}
|
||||
|
||||
bool Parse(InputStream &is, Error &error) {
|
||||
return parser.Parse(is, error);
|
||||
void Parse(InputStream &is) {
|
||||
parser.Parse(is);
|
||||
}
|
||||
|
||||
gcc_pure
|
||||
|
Reference in New Issue
Block a user