Skip to content

Commit 51a216b

Browse files
committed
setMessageOption: blank values are replaced by defaults
1 parent f50e105 commit 51a216b

File tree

1 file changed

+34
-5
lines changed

1 file changed

+34
-5
lines changed

src/InfoLogger.cxx

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -616,16 +616,45 @@ InfoLogger::Severity InfoLogger::getSeverityFromString(const char *txt) {
616616

617617

618618
int InfoLogger::setMessageOption(const char *fieldName, const char *fieldValue, InfoLoggerMessageOption &output) {
619+
if (fieldName==NULL) {return -1;}
620+
if (fieldValue==NULL) {return -1;}
621+
622+
// in case of blank string, use default value
623+
bool useDefault=false;
624+
if (strlen(fieldValue)==0) {
625+
useDefault=true;
626+
}
627+
619628
if (!strcmp(fieldName,"Severity")) {
620-
output.severity=getSeverityFromString(fieldValue);
629+
if (useDefault) {
630+
output.severity=undefinedMessageOption.severity;
631+
} else {
632+
output.severity=getSeverityFromString(fieldValue);
633+
}
621634
} else if (!strcmp(fieldName,"Level")) {
622-
output.level=atoi(fieldValue);
635+
if (useDefault) {
636+
output.level=undefinedMessageOption.level;
637+
} else {
638+
output.level=atoi(fieldValue);
639+
}
623640
} else if (!strcmp(fieldName,"ErrorCode")) {
624-
output.errorCode=atoi(fieldValue);
641+
if (useDefault) {
642+
output.errorCode=undefinedMessageOption.errorCode;
643+
} else {
644+
output.errorCode=atoi(fieldValue);
645+
}
625646
} else if (!strcmp(fieldName,"SourceFile")) {
626-
output.sourceFile=fieldValue;
647+
if (useDefault) {
648+
output.sourceFile=undefinedMessageOption.sourceFile;
649+
} else {
650+
output.sourceFile=fieldValue;
651+
}
627652
} else if (!strcmp(fieldName,"SourceLine")) {
628-
output.sourceLine=atoi(fieldValue);
653+
if (useDefault) {
654+
output.sourceLine=undefinedMessageOption.sourceLine;
655+
} else {
656+
output.sourceLine=atoi(fieldValue);
657+
}
629658
} else {
630659
return -1;
631660
}

0 commit comments

Comments
 (0)