From 3a2b543bfbc8e888202e739ab77ff7e23b7c8c33 Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Fri, 17 Mar 2000 16:38:06 +0000 Subject: [PATCH] fix bugs --- src/registry/registerRecordDeviceDriver.pl | 40 +++++++++------------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/src/registry/registerRecordDeviceDriver.pl b/src/registry/registerRecordDeviceDriver.pl index 9e17a0f0f..bac025541 100755 --- a/src/registry/registerRecordDeviceDriver.pl +++ b/src/registry/registerRecordDeviceDriver.pl @@ -35,6 +35,9 @@ print << "END" ; #include #include +#include "dbBase.h" +#include "dbStaticLib.h" +#include "dbAccess.h" #include "recSup.h" #include "devSup.h" #include "drvSup.h" @@ -120,32 +123,25 @@ int registerRecordDeviceDriver(DBBASE *pdbbase) { int i; int result; - static int alreadyCalled = 0; - if(alreadyCalled) { - printf(\"registerRecordDeviceDriver called multiple times\\n\"); - return(-1); - } + END if($numberRecordType>0) { print << "END" ; for(i=0; i< $numberRecordType; i++ ) { - result = registryRecordTypeAdd(recordTypeNames[i],&rtl[i]); - if(result) { - recordTypeLocation *precordTypeLocation; - int (*sizeOffset)(dbRecordType *pdbRecordType); - DBENTRY dbEntry; + recordTypeLocation *precordTypeLocation; + int (*sizeOffset)(dbRecordType *pdbRecordType); + DBENTRY dbEntry; - dbInitEntry(pdbbase,&dbEntry); - precordTypeLocation = registryRecordTypeFind(recordTypeNames[i]); - sizeOffset = precordTypeLocation->sizeOffset; - if(dbFindRecordType(&dbEntry,recordTypeNames[i])) { - printf(\"registerRecordDeviceDriver failed %s\\n\", - recordTypeNames[i]); - } else { - sizeOffset(dbEntry.precordType); - } + result = registryRecordTypeAdd(recordTypeNames[i],&rtl[i]); + if(!result) continue; + dbInitEntry(pdbbase,&dbEntry); + precordTypeLocation = registryRecordTypeFind(recordTypeNames[i]); + sizeOffset = precordTypeLocation->sizeOffset; + if(dbFindRecordType(&dbEntry,recordTypeNames[i])) { + printf(\"registerRecordDeviceDriver failed %s\\n\", + recordTypeNames[i]); } else { - printf(\"registerRecordDeviceDriver failed %s\\n\",recordTypeNames[i]); + sizeOffset(dbEntry.precordType); } } END @@ -154,9 +150,7 @@ if($numberDeviceSupport>0) { print << "END" ; for(i=0; i< $numberDeviceSupport; i++ ) { result = registryDeviceSupportAdd(deviceSupportNames[i],devsl[i]); - if(!result) - printf(\"registerRecordDeviceDriver failed %s\\n\", - \"deviceSupportNames[i]\"); + if(!result) continue; } END }