Warn to stderr when discarding CPP modifier for outlink (#608)

* warn to stderr when un-setting inapplicable CPP flag on output links

* Warn and unset CP flag for output links

* use errlogprintf instead of fprintf for dbParseLink CP/CPP warning

* Pass source record name to dbParseLink for debug information when modifier is discarded

* make CP/CPP discard warning less verbose

* Include field name of affected record when warning of CP/CPP discard
This commit is contained in:
Evan Daykin
2025-10-08 10:44:27 -04:00
committed by GitHub
parent d00ce1bc0a
commit acd1aef2a0
4 changed files with 26 additions and 10 deletions

View File

@@ -92,7 +92,7 @@ static void testLinkParse(void)
for (;td->str; td++) {
int i, N;
testDiag("Parsing \"%s\"", td->str);
testOk(dbParseLink(td->str, DBF_INLINK, &info) == 0, "Parser returned OK");
testOk(dbParseLink(td->str, DBF_INLINK, &info, "dummy","INP") == 0, "Parser returned OK");
if (!testOk(info.ltype == td->info.ltype, "Link type value"))
testDiag("Expected %d, got %d", td->info.ltype, info.ltype);
if (td->info.target && info.target)
@@ -121,6 +121,16 @@ static void testLinkParse(void)
dbFreeLinkInfo(&info);
}
info.modifiers |= pvlOptCPP;
dbParseLink("something CPP", DBF_OUTLINK, &info, "dummy","OUT");
testOk(info.modifiers == 0, "CPP modifier was discarded");
dbFreeLinkInfo(&info);
info.modifiers |= pvlOptCP;
dbParseLink("something CP", DBF_OUTLINK, &info, "dummy","OUT");
testOk(info.modifiers == 0, "CP modifier was discarded");
dbFreeLinkInfo(&info);
testIocShutdownOk();
testdbCleanup();
@@ -155,7 +165,7 @@ static void testLinkFailParse(void)
eltc(1);
for(;*td; td++) {
testOk(dbParseLink(*td, DBF_INLINK, &info) == S_dbLib_badField,
testOk(dbParseLink(*td, DBF_INLINK, &info, "dummy","INP") == S_dbLib_badField,
"dbParseLink correctly rejected \"%s\"", *td);
}
@@ -705,7 +715,7 @@ void testTSEL(void)
MAIN(dbPutLinkTest)
{
testPlan(352);
testPlan(354);
testLinkParse();
testLinkFailParse();
testCADBSet();