diff --git a/iocBoot/iocimagedemo/st.cmd b/iocBoot/iocimagedemo/st.cmd index 3fbb80d..325bf04 100755 --- a/iocBoot/iocimagedemo/st.cmd +++ b/iocBoot/iocimagedemo/st.cmd @@ -4,4 +4,6 @@ dbLoadRecords("image.db","N=TST:image1") dbLoadRecords("table.db","N=TST:table1") dbLoadRecords("ntenum.db","P=TST:enum1") +dbLoadGroup("image.json") + iocInit() diff --git a/pdbApp/pdb.cpp b/pdbApp/pdb.cpp index 8885090..3f747dd 100644 --- a/pdbApp/pdb.cpp +++ b/pdbApp/pdb.cpp @@ -239,7 +239,7 @@ struct PDBProcessor #ifdef USE_MULTILOCK try { - GroupConfig::parse(json, "", conf); + GroupConfig::parse(json, NULL, conf); if(!conf.warning.empty()) fprintf(stderr, "warning(s) from dbGroup file \"%s\"\n%s", it->c_str(), conf.warning.c_str()); }catch(std::exception& e){ diff --git a/pdbApp/pvif.cpp b/pdbApp/pvif.cpp index 76def06..6f26d9c 100644 --- a/pdbApp/pvif.cpp +++ b/pdbApp/pvif.cpp @@ -40,19 +40,23 @@ namespace pva = epics::pvAccess; DBCH::DBCH(dbChannel *ch) :chan(ch) { + if(!chan) + throw std::invalid_argument("NULL channel"); prepare(); } DBCH::DBCH(const std::string& name) :chan(dbChannelCreate(name.c_str())) { + if(!chan) + throw std::invalid_argument(SB()<<"invalid channel: "<