if(args.type == DBR_LONG && args.status == ECA_NORMAL) {
for(i = 0 ; i < *(result->rows) ; i++) {
(result->val)[i] = buffer[i];
+#if 0
+ fprintf(stderr, "val[%d] received: %ld\n", i, (result->val)[i]);
+#endif
}
} else {
Param_strerror((Param *) result->my, ca_message(args.status));
aitUint32 *intValue = new aitUint32[index];
for (unsigned int k = 0 ; k < index ; k++) {
intValue[k] = ourValue[k];
+#if 0
+ fprintf(stderr, "intValue[%d] put: %d\n", k, intValue[k]);
+#endif
}
value.putRef(intValue);
aitUint32 *intValue = new aitUint32[index];
for (unsigned int k = 0 ; k < index ; k++) {
intValue[k] = ourValue[k];
+#if 0
+ fprintf(stderr, "intValue[%d] put: %d\n", k, intValue[k]);
+#endif
}
val = new gddAtomic(gddAppType_value, aitEnumUint32, 1, index);
val = new gddAtomic(gddAppType_value, aitEnumString, 1, index);
- val->putRef(stringValue, pDest);
+ val->putRef(stringValue);
+
retVal = S_casApp_success;
}
delete [] ourValue[i];
}
+#if 0
val->setStat(epicsAlarmNone);
val->setSevr(epicsSevNone);
+#endif
if (this->interest == aitTrue && pCAS != NULL) {
casEventMask select(pCAS->valueEventMask|pCAS->logEventMask|pCAS->alarmEventMask);
int Param_storeInt(const Param *my, const char *name, const char *idx, unsigned long int value)
{
fprintf(((FileParam *) (my->specParam))->store, "set %s(%s)\t%lu\n", name, idx, value);
+ fflush(((FileParam *) (my->specParam))->store);
((FileParam *) (my->specParam))->nVals++;
((FileParam *) (my->specParam))->pname = realloc(((FileParam *) (my->specParam))->pname, ((FileParam *) (my->specParam))->nVals * sizeof(char *));
((FileParam *) (my->specParam))->value = realloc(((FileParam *) (my->specParam))->value, ((FileParam *) (my->specParam))->nVals * sizeof(char *));
char buf[strlen("set ()\t\n") + 2 * PARAM_MAX_NAME_LEN + PARAM_MAX_VALUE_LEN];
sprintf(buf, "set %s(%s)\t%lu\n", name, idx, value);
fprintf(((TclParam *) (my->specParam))->store, buf);
+ fflush(((TclParam *) (my->specParam))->store);
Tcl_Eval(((TclParam *) (my->specParam))->interp, buf);
return 0;
}
char buf[strlen("set ()\t\n") + 2 * PARAM_MAX_NAME_LEN + PARAM_MAX_VALUE_LEN];
sprintf(buf, "set %s(%s)\t\"%s\"\n", name, idx, value);
fprintf(((TclParam *) (my->specParam))->store, buf);
+ fflush(((TclParam *) (my->specParam))->store);
Tcl_Eval(((TclParam *) (my->specParam))->interp, buf);
return 0;
}
filenameobjs :
cd filename ; $(MAKE) "CFLAGS=-Wall -I../../include"
intobjs :
- cd int ; $(MAKE) "CFLAGS=-Wall -DVERBOSE -I../../include"
+ cd int ; $(MAKE) "CFLAGS=-Wall -I../../include"
stringobjs :
cd string ; $(MAKE) "CFLAGS=-Wall -I../../include"
cat middle.c >> $SUITE
for i in */*.c ; do
- echo " errors -= $(basename $i \.c)(\"$(dirname $i)/$(basename $i \.c)\");" >> $SUITE
+ echo " errors -= $(basename $i \.c)(\"$(basename $i \.c)\");" >> $SUITE
echo " tests++;" >> $SUITE
done
+++ /dev/null
-set glob(basedir) blob
-
-set file(rname) test0.blob
-set file(aname) /test0.blob
-set file(rnamellarge) test1.blob
-set file(rnameodd) test2.blob
set file(aname) /test0.blob
set file(rnamellarge) test1.blob
set file(rnameodd) test2.blob
-
-set file(namea0) test1.blob
-set file(namea1) /test0.blob
-set file(namea2) test3.blob
-set file(namea3) /test2.blob
-set file(namea4) test5.blob
-set file(namea5) /test4.blob
-set file(namea6) test7.blob
-set file(namea7) /test6.blob
-set file(namea9) test10.blob
-
-set tname(twhitespace) "test1000 whith whitespace"
-set tname(tstring) test1000
-
-set tname(tint) 1000
-
-set tname(tstringa0) test10
-set tname(tstringa1) test00
-set tname(tstringa2) test30
-set tname(tstringa3) test20
-set tname(tstringa4) test50
-set tname(tstringa5) test40
-set tname(tstringa6) test70
-set tname(tstringa7) test60
-set tname(tstringa9) test100
-
-set tname(tinta0) 10
-set tname(tinta1) 00
-set tname(tinta2) 30
-set tname(tinta3) 20
-set tname(tinta4) 50
-set tname(tinta5) 40
-set tname(tinta6) 70
-set tname(tinta7) 60
-set tname(tinta8) 90
-set tname(tinta9) 80
-set tname(tinta10) 110
-set tname(tinta11) 100
-set tname(tinta12) 130
-set tname(tinta13) 120
-set tname(tinta14) 150
-set tname(tinta15) 140
-set tname(tinta16) 170
-set tname(tinta17) 160
-set tname(tinta18) 190
-set tname(tinta19) 180
-set tname(tinta20) 210
-set tname(tinta21) 200
-set tname(tinta22) 230
-set tname(tinta23) 220
-set tname(tinta24) 250
-set tname(tinta25) 240
-set tname(tinta26) 270
-set tname(tinta27) 260
-set tname(tinta28) 290
-set tname(tinta29) 280
-set tname(tinta30) 310
-set tname(tinta31) 300
-
+++ /dev/null
-set glob(basedir) blob
-
-set file(rname) test0.blob
-set file(aname) /test0.blob
-set file(rnamellarge) test1.blob
-set file(rnameodd) test2.blob
-set file(rname) test0.blob
-set file(aname) /test0.blob
-set file(rnamellarge) test1.blob
-set file(rnameodd) test2.blob
-
set file(namea0) test1.blob
set file(namea1) /test0.blob
set file(namea2) test3.blob
set file(namea6) test7.blob
set file(namea7) /test6.blob
set file(namea9) test10.blob
-
-set tname(twhitespace) "test1000 whith whitespace"
-set tname(tstring) test1000
-
-set tname(tint) 1000
-
-set tname(tstringa0) test10
-set tname(tstringa1) test00
-set tname(tstringa2) test30
-set tname(tstringa3) test20
-set tname(tstringa4) test50
-set tname(tstringa5) test40
-set tname(tstringa6) test70
-set tname(tstringa7) test60
-set tname(tstringa9) test100
-
-set tname(tinta0) 10
-set tname(tinta1) 00
-set tname(tinta2) 30
-set tname(tinta3) 20
-set tname(tinta4) 50
-set tname(tinta5) 40
-set tname(tinta6) 70
-set tname(tinta7) 60
-set tname(tinta8) 90
-set tname(tinta9) 80
-set tname(tinta10) 110
-set tname(tinta11) 100
-set tname(tinta12) 130
-set tname(tinta13) 120
-set tname(tinta14) 150
-set tname(tinta15) 140
-set tname(tinta16) 170
-set tname(tinta17) 160
-set tname(tinta18) 190
-set tname(tinta19) 180
-set tname(tinta20) 210
-set tname(tinta21) 200
-set tname(tinta22) 230
-set tname(tinta23) 220
-set tname(tinta24) 250
-set tname(tinta25) 240
-set tname(tinta26) 270
-set tname(tinta27) 260
-set tname(tinta28) 290
-set tname(tinta29) 280
-set tname(tinta30) 310
-set tname(tinta31) 300
-
printf("%s : Passed.\n", testid);
} else {
#ifdef VERBOSE
- printf("%s : Failed. Rows: %d, return Value: %d\n", testid, rows, retVal);
+ printf("%s : Failed. Rows: %d, result array:\n", testid, rows);
+ for(i = 0 ; i < NUM6 ; i++) {
+ printf("result[%d]: %ld.\n", i, result[i]);
+ }
+ printf("return Value: %d.\n", retVal);
printf("%s : Error string: %s\n", testid, Param_getErrStr(param));
#else
printf("%s : Failed.\n", testid);
printf("%s : Passed.\n", testid);
} else {
#ifdef VERBOSE
- printf("%s : Failed. Rows: %d, return Value: %d\n", testid, rows, retVal);
+ printf("%s : Failed. Rows: %d, result array:\n", testid, rows);
+ for(i = 0 ; i < NUM2 ; i++) {
+ printf("result[%d]: %ld.\n", i, result[i]);
+ }
+ printf("return Value: %d.\n", retVal);
printf("%s : Error string: %s\n", testid, Param_getErrStr(param));
#else
printf("%s : Failed.\n", testid);
conSetupParam(param, testid);
retVal = Param_getIntArray(param, name, idx, NUM1, &rows, result);
- if ((rows == 0) && (retVal == -1)) {
+ if ((rows == 0) && ((retVal == -1) || (retVal == 0))) {
myRetVal = 0;
printf("%s : Passed.\n", testid);
} else {