From 755abbeaef7170b7c0b863760306aaf06894a4fb Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Thu, 13 Jun 1996 20:40:59 +0000 Subject: [PATCH] put to hardware links had bug --- src/db/dbAccess.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/db/dbAccess.c b/src/db/dbAccess.c index 81e43f40b..e67bf8c17 100644 --- a/src/db/dbAccess.c +++ b/src/db/dbAccess.c @@ -928,18 +928,20 @@ long dbPutField(DBADDR *paddr,short dbrType,void *pbuffer,long nRequest) /*End kludge for old db_access MAX_STRING_SIZE*/ dbLockSetGblLock(); dbLockSetRecordLock(precord); - if(plink->type == DB_LINK) { + if((plink->type == DB_LINK)||(plink->type == CA_LINK)) { + if(plink->type == DB_LINK) { free(plink->value.pv_link.pvt); plink->value.pv_link.pvt = 0; plink->type = PV_LINK; dbLockSetSplit(precord); - } else if(plink->type == CA_LINK) { + } else if(plink->type == CA_LINK) { dbCaRemoveLink(plink); + } + plink->value.pv_link.getCvt = 0; + plink->value.pv_link.pvlMask = 0; + plink->value.pv_link.lastGetdbrType = 0; + plink->type = PV_LINK; } - plink->value.pv_link.getCvt = 0; - plink->value.pv_link.pvlMask = 0; - plink->value.pv_link.lastGetdbrType = 0; - plink->type = PV_LINK; dbInitEntry(pdbbase,&dbEntry); if(status=dbFindRecord(&dbEntry,precord->name)) goto done; if(status=dbFindField(&dbEntry,pfldDes->name)) goto done;