From 33e93c6d3d6e2ada23bb4c5ff55e6d09983e1d9d Mon Sep 17 00:00:00 2001 From: Ferdi Franceschini Date: Wed, 31 Oct 2007 15:49:16 +1100 Subject: [PATCH] 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 --- scan.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/scan.c b/scan.c index e61a3d48..2e2345ce 100644 --- a/scan.c +++ b/scan.c @@ -1720,12 +1720,12 @@ static int DumpScan(pScanData self, SConnection *pCon) int argc, char *argv[]) { pScanData self = NULL; - char pBueffel[512]; + char pBueffel[512], varname[512]; double fStep, fStart, fPreset; float *fData = NULL; int lNP; int iChannel; - int iRet, iMode,i; + int iRet, iMode,i, varnum; char *pPtr = NULL, pItem[20]; long *lData = NULL, lID; int *iData; @@ -1999,6 +1999,15 @@ static int DumpScan(pScanData self, SConnection *pCon) SCWrite(pCon,pBueffel,eError); 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 */ iRet = Tcl_GetDouble(InterpGetTcl(pSics),argv[3],&fStart); if(iRet != TCL_OK)