Check for duplicate scan variables when adding a scan variable.

r2201 | ffr | 2007-10-31 15:49:16 +1100 (Wed, 31 Oct 2007) | 2 lines
This commit is contained in:
Ferdi Franceschini
2007-10-31 15:49:16 +11:00
committed by Douglas Clowes
parent 9a2e98a0e3
commit 33e93c6d3d

13
scan.c
View File

@@ -1720,12 +1720,12 @@ static int DumpScan(pScanData self, SConnection *pCon)
int argc, char *argv[]) int argc, char *argv[])
{ {
pScanData self = NULL; pScanData self = NULL;
char pBueffel[512]; char pBueffel[512], varname[512];
double fStep, fStart, fPreset; double fStep, fStart, fPreset;
float *fData = NULL; float *fData = NULL;
int lNP; int lNP;
int iChannel; int iChannel;
int iRet, iMode,i; int iRet, iMode,i, varnum;
char *pPtr = NULL, pItem[20]; char *pPtr = NULL, pItem[20];
long *lData = NULL, lID; long *lData = NULL, lID;
int *iData; int *iData;
@@ -1999,6 +1999,15 @@ static int DumpScan(pScanData self, SConnection *pCon)
SCWrite(pCon,pBueffel,eError); SCWrite(pCon,pBueffel,eError);
return 0; return 0;
} }
/* check for duplicate scanvar */
for (varnum=0; varnum < self->iScanVar; varnum++) {
GetScanVarName(self, varnum, varname, 512);
if (strcmp(argv[2],varname) == 0) {
sprintf(pBueffel,"ERROR: Scan variable %s has already been added.",argv[2]);
SCWrite(pCon,pBueffel,eError);
return 0;
}
}
/* get numbers */ /* get numbers */
iRet = Tcl_GetDouble(InterpGetTcl(pSics),argv[3],&fStart); iRet = Tcl_GetDouble(InterpGetTcl(pSics),argv[3],&fStart);
if(iRet != TCL_OK) if(iRet != TCL_OK)