From 2ab1bb14c54f9125d79eb1ea40b9f1ffa10057ff Mon Sep 17 00:00:00 2001 From: Sang Woo Kim Date: Sun, 19 Jul 2026 17:54:51 +0900 Subject: [PATCH] calcRecord: drop unhandled special(SPC_MOD) from INPM..INPU INPM..INPU each declared special(SPC_MOD), but calcRecord's special() only implements SPC_CALC and returns S_db_badChoice for anything else. Every dbPutField/caput to one of those nine link fields therefore ran special(after=TRUE), hit the fall-through, and failed with S_db_badChoice ("bad special value") -- nine documented input links were unwritable at run time. The twelve sibling links INPA..INPL carry no special and accept writes, and calcRecord (unlike calcoutRecord) does no run-time link re-initialization, so there is no handler for SPC_MOD to reach. Remove the erroneous attribute from the nine fields so they match INPA..INPL; special() then runs only for CALC, which is the only field that still carries a special. --- modules/database/src/std/rec/calcRecord.dbd.pod | 9 --------- 1 file changed, 9 deletions(-) diff --git a/modules/database/src/std/rec/calcRecord.dbd.pod b/modules/database/src/std/rec/calcRecord.dbd.pod index 886345b65..d1e77b6c1 100644 --- a/modules/database/src/std/rec/calcRecord.dbd.pod +++ b/modules/database/src/std/rec/calcRecord.dbd.pod @@ -636,55 +636,46 @@ manner for the VAL field. } field(INPM,DBF_INLINK) { prompt("Input M") - special(SPC_MOD) promptgroup("43 - Input M-R") interest(1) } field(INPN,DBF_INLINK) { prompt("Input N") - special(SPC_MOD) promptgroup("43 - Input M-R") interest(1) } field(INPO,DBF_INLINK) { prompt("Input O") - special(SPC_MOD) promptgroup("43 - Input M-R") interest(1) } field(INPP,DBF_INLINK) { prompt("Input P") - special(SPC_MOD) promptgroup("43 - Input M-R") interest(1) } field(INPQ,DBF_INLINK) { prompt("Input Q") - special(SPC_MOD) promptgroup("43 - Input M-R") interest(1) } field(INPR,DBF_INLINK) { prompt("Input R") - special(SPC_MOD) promptgroup("43 - Input M-R") interest(1) } field(INPS,DBF_INLINK) { prompt("Input S") - special(SPC_MOD) promptgroup("44 - Input S-U") interest(1) } field(INPT,DBF_INLINK) { prompt("Input T") - special(SPC_MOD) promptgroup("44 - Input S-U") interest(1) } field(INPU,DBF_INLINK) { prompt("Input U") - special(SPC_MOD) promptgroup("44 - Input S-U") interest(1) }