@@ -616,16 +616,45 @@ InfoLogger::Severity InfoLogger::getSeverityFromString(const char *txt) {
616616
617617
618618int 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