本文整理汇总了C++中Error::Set方法的典型用法代码示例。如果您正苦于以下问题:C++ Error::Set方法的具体用法?C++ Error::Set怎么用?C++ Error::Set使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Error
的用法示例。
在下文中一共展示了Error::Set方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FinalizeBuffer
bool
GRecord::VerifyGRecordInFile(Path path, Error &error)
{
// assumes FileName member is set
// Load File into Buffer (assume name is already set)
if (!LoadFileToBuffer(path, error))
return false;
// load Existing Digest "old"
char old_g_record[DIGEST_LENGTH + 1];
if (!ReadGRecordFromFile(path, old_g_record, ARRAY_SIZE(old_g_record), error))
return false;
// recalculate digest from buffer
FinalizeBuffer();
char new_g_record[DIGEST_LENGTH + 1];
GetDigest(new_g_record);
if (strcmp(old_g_record, new_g_record) != 0) {
error.Set(grecord_domain, "Invalid G record");
return false;
}
return true;
}
示例2: reader
bool
GRecord::ReadGRecordFromFile(Path path,
char *output, size_t max_length,
Error &error)
{
FileLineReaderA reader(path, error);
if (reader.error())
return false;
unsigned int digest_length = 0;
char *data;
while ((data = reader.ReadLine()) != nullptr) {
if (data[0] != 'G')
continue;
for (const char *p = data + 1; *p != '\0'; ++p) {
output[digest_length++] = *p;
if (digest_length >= max_length) {
error.Set(grecord_domain, "G record too large");
return false;
}
}
}
output[digest_length] = '\0';
return true;
}