From e787d0de4f8cb3792c2d255de2d7238d0261d0fb Mon Sep 17 00:00:00 2001 From: "Janet B. Anderson" Date: Fri, 19 Nov 1993 13:49:24 +0000 Subject: [PATCH] bugfix for mrk --- src/db/dbScan.c | 2 ++ src/db/dbTest.c | 2 ++ src/db/iocInit.c | 5 +++++ 3 files changed, 9 insertions(+) diff --git a/src/db/dbScan.c b/src/db/dbScan.c index 4b240b5af..c679e854d 100644 --- a/src/db/dbScan.c +++ b/src/db/dbScan.c @@ -401,6 +401,7 @@ static void initPeriodic() /* look for first record */ for (i=0; inumber; i++) { if((precLoc=precHeader->papRecLoc[i])==NULL) continue; + if(!precLoc->preclist) continue; for(precNode=(RECNODE *)ellFirst(precLoc->preclist); precNode; precNode = (RECNODE *)ellNext(&precNode->node)) { precord = precNode->precord; @@ -623,6 +624,7 @@ static void buildScanLists(void) /* look through all of the database records and place them on lists */ for (i=0; inumber; i++) { if((precLoc=precHeader->papRecLoc[i])==NULL) continue; + if(!precLoc->preclist) continue; for(precNode=(RECNODE *)ellFirst(precLoc->preclist); precNode; precNode = (RECNODE *)ellNext(&precNode->node)) { precord = precNode->precord; diff --git a/src/db/dbTest.c b/src/db/dbTest.c index 2c11af607..989842ffa 100644 --- a/src/db/dbTest.c +++ b/src/db/dbTest.c @@ -235,6 +235,7 @@ long dbl(char *ptypeName) got_it: for(rectype=beg; rectype<=end; rectype++) { if(!(precLoc=GET_PRECLOC(precHeader,rectype))) continue; + if(!precLoc->preclist) continue; for(precNode=(RECNODE *)ellFirst(precLoc->preclist); precNode; precNode = (RECNODE *)ellNext(&precNode->node)) { precord = precNode->precord; @@ -678,6 +679,7 @@ long dblls(int lockset) printf(" lset lcnt disv disa pact\n"); for(rectype=beg; rectype<=end; rectype++) { if(!(precLoc=GET_PRECLOC(precHeader,rectype))) continue; + if(!precLoc->preclist) continue; for(precNode=(RECNODE *)ellFirst(precLoc->preclist); precNode; precNode = (RECNODE *)ellNext(&precNode->node)) { precord = precNode->precord; diff --git a/src/db/iocInit.c b/src/db/iocInit.c index a7813a107..6580cbb18 100644 --- a/src/db/iocInit.c +++ b/src/db/iocInit.c @@ -380,6 +380,7 @@ static long initDatabase(void) } for(i=0; i< (precHeader->number); i++) { if(!(precLoc = precHeader->papRecLoc[i]))continue; + if(!precLoc->preclist) continue; prset = GET_PRSET(precSup,i); precTypDes = precDes->papRecTypDes[i]; pdevSup = GET_PDEVSUP(pdbBase->precDevSup,i); @@ -415,6 +416,7 @@ static long initDatabase(void) /* Second pass to resolve links*/ for(i=0; i< (precHeader->number); i++) { if(!(precLoc = precHeader->papRecLoc[i]))continue; + if(!precLoc->preclist) continue; precTypDes = precDes->papRecTypDes[i]; for(precNode=(RECNODE *)ellFirst(precLoc->preclist); precNode; precNode = (RECNODE *)ellNext(&precNode->node)) { @@ -466,6 +468,7 @@ static long initDatabase(void) /* Call init_record for second time */ for(i=0; i< (precHeader->number); i++) { if(!(precLoc = precHeader->papRecLoc[i]))continue; + if(!precLoc->preclist) continue; if(!(prset=GET_PRSET(precSup,i))) continue; precTypDes = precDes->papRecTypDes[i]; for(precNode=(RECNODE *)ellFirst(precLoc->preclist); @@ -503,6 +506,7 @@ static void createLockSets(void) if(!(precDes = pdbBase->precDes)) return; for(i=0; i< (precHeader->number); i++) { if(!(precLoc = precHeader->papRecLoc[i]))continue; + if(!precLoc->preclist) continue; precTypDes = precDes->papRecTypDes[i]; for(precNode=(RECNODE *)ellFirst(precLoc->preclist); precNode; precNode = (RECNODE *)ellNext(&precNode->node)) { @@ -594,6 +598,7 @@ static long initialProcess(void) if(!(precHeader = pdbBase->precHeader)) return(0); for(i=0; i< (precHeader->number); i++) { if(!(precLoc = precHeader->papRecLoc[i]))continue; + if(!precLoc->preclist) continue; for(precNode=(RECNODE *)ellFirst(precLoc->preclist); precNode; precNode = (RECNODE *)ellNext(&precNode->node)) { precord = precNode->precord;