various bugs fixed

This commit is contained in:
Marty Kraimer
1996-07-29 20:33:43 +00:00
parent 1947538968
commit a057f79d75
4 changed files with 16 additions and 13 deletions
+4 -3
View File
@@ -155,7 +155,7 @@ PVDENTRY *dbPvdAdd(dbBase *pdbbase,dbRecordType *precordType,dbRecordNode *precn
ppvdlist=ppvd[hashInd];
ppvdNode = (PVDENTRY *) ellFirst(ppvdlist);
while(ppvdNode) {
if(strcmp(name,(char *)ppvdNode->precnode->precord) == 0) return(NULL);
if(strcmp(name,(char *)ppvdNode->precnode->recordname)==0) return(NULL);
ppvdNode = (PVDENTRY *) ellNext((ELLNODE*)ppvdNode);
}
ppvdNode = dbCalloc(1, sizeof(PVDENTRY));
@@ -180,8 +180,8 @@ void dbPvdDelete(dbBase *pdbbase,dbRecordNode *precnode)
ppvdlist=ppvd[hashInd];
ppvdNode = (PVDENTRY *) ellFirst(ppvdlist);
while(ppvdNode) {
if(ppvdNode->precnode && ppvdNode->precnode->precord
&& strcmp(name,(char *)ppvdNode->precnode->precord) == 0) {
if(ppvdNode->precnode && ppvdNode->precnode->recordname
&& strcmp(name,(char *)ppvdNode->precnode->recordname) == 0) {
ellDelete(ppvdlist, (ELLNODE*)ppvdNode);
free((void *)ppvdNode);
return;
@@ -213,6 +213,7 @@ void dbPvdFreeMem(dbBase *pdbbase)
free((void *)ppvd[hashInd]);
}
free((void *)ppvd);
pdbbase->ppvd = NULL;
}
void dbPvdDump(dbBase *pdbbase,int verbose)
+10 -6
View File
@@ -1957,6 +1957,10 @@ char *dbVerify(DBENTRY *pdbentry,char *pstring)
unsigned long value;
char *endp;
if(strchr(pstring,'-')) {
strcpy(message,"not an unsigned number");
return(message);
}
value = strtoul(pstring,&endp,0);
if(*endp!=0) {
strcpy(message,"not an integer number");
@@ -2048,12 +2052,12 @@ char *dbGetRange(DBENTRY *pdbentry)
if(!pflddes) {strcpy(message,"fldDes not found"); return(message);}
switch (pflddes->field_type) {
case DBF_STRING: {strcpy(message,"string"); return(message);}
case DBF_CHAR : {strcpy(message,"-128<->127"); return(message);}
case DBF_SHORT : {strcpy(message,"-32768<->32767");return(message);}
case DBF_LONG: {strcpy(message,"integer"); return(message);}
case DBF_UCHAR: {strcpy(message,"0<->255");return(message);}
case DBF_USHORT:{strcpy(message,"0<->65535");return(message);}
case DBF_ULONG:{strcpy(message,"unsigned integer");return(message);}
case DBF_CHAR : {strcpy(message,"-128 to 127"); return(message);}
case DBF_SHORT : {strcpy(message,"-32768 to 32767");return(message);}
case DBF_LONG: {strcpy(message,"long"); return(message);}
case DBF_UCHAR: {strcpy(message,"0 to 255");return(message);}
case DBF_USHORT:{strcpy(message,"0 to 65535");return(message);}
case DBF_ULONG:{strcpy(message,"unsigned long");return(message);}
case DBF_ENUM: return(NULL);
case DBF_FLOAT:
case DBF_DOUBLE: {strcpy(message,"float");return(message);}
+1
View File
@@ -206,4 +206,5 @@ extern int dbStaticDebug;
#define S_dbLib_nameLength (M_dbLib|17) /*Record Name is too long*/
#define S_dbLib_noRecSup (M_dbLib|19) /*Record support not found*/
#define S_dbLib_strLen (M_dbLib|21) /*String is too long*/
#define S_dbLib_noSizeOffset (M_dbLib|23) /*Missing SizeOffset Routine*/
#endif /*INCdbStaticLibh*/
+1 -4
View File
@@ -35,9 +35,6 @@ of this distribution.
#include <cvtFast.h>
#include <dbStaticLib.h>
#include <dbStaticPvt.h>
#include <devSup.h>
#include <drvSup.h>
#include <recSup.h>
#include <special.h>
static char hex_digit_to_ascii[16]={'0','1','2','3','4','5','6','7','8','9',
@@ -603,7 +600,7 @@ void dbGetRecordtypeSizeOffset(dbRecordType *pdbRecordType)
vxstatus = symFindByName(sysSymTbl, name,
(void *)&sizeOffset, &type);
if (vxstatus != OK) {
status = S_rec_noSizeOffset;
status = S_dbLib_noSizeOffset;
errPrintf(status,__FILE__,__LINE__,"%s",name);
taskSuspend(0);
}