va_list args; \
size_t msgSize = 400; \
int const errsv = errno; \
- while (true) { \
+ bool retry; \
+ do { \
va_start(args,Description); \
- bool const retry = InsertErrno(TYPE, Function, Description, args, errsv, msgSize); \
+ retry = InsertErrno(TYPE, Function, Description, args, errsv, msgSize); \
va_end(args); \
- if (retry == false) \
- break; \
- } \
+ } while (retry); \
return false; \
}
GEMessage(FatalE, FATAL)
va_list args;
size_t msgSize = 400;
int const errsv = errno;
- while (true) {
+ bool retry;
+ do {
va_start(args,Description);
- bool const retry = InsertErrno(type, Function, Description, args, errsv, msgSize);
+ retry = InsertErrno(type, Function, Description, args, errsv, msgSize);
va_end(args);
- if (retry == false)
- break;
- }
+ } while (retry);
return false;
}
/*}}}*/
bool GlobalError::NAME (const char *Description,...) { \
va_list args; \
size_t msgSize = 400; \
- while (true) { \
+ bool retry; \
+ do { \
va_start(args,Description); \
- if (Insert(TYPE, Description, args, msgSize) == false) \
- break; \
+ retry = Insert(TYPE, Description, args, msgSize); \
va_end(args); \
- } \
+ } while (retry); \
return false; \
}
GEMessage(Fatal, FATAL)
{
va_list args;
size_t msgSize = 400;
- while (true) {
+ bool retry;
+ do {
va_start(args,Description);
- if (Insert(type, Description, args, msgSize) == false)
- break;
+ retry = Insert(type, Description, args, msgSize);
va_end(args);
- }
+ } while (retry);
return false;
}
/*}}}*/
PendingFlag = false;
}
/*}}}*/
+// GlobalError::ReturnError - convert a stored error to a return code /*{{{*/
+bool GlobalError::ReturnError() {
+ for (auto &message : Messages)
+ if (message.Type == ERROR)
+ message.Type = WARNING;
+ PendingFlag = false;
+ return false;
+}
+ /*}}}*/
// GlobalError::empty - does our error list include anything? /*{{{*/
bool GlobalError::empty(MsgType const &threshold) const {
if (PendingFlag == true)