From 52787995757c2f9ec4906cbb6092f1cc4ae0520b Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 15 Nov 2017 20:59:06 -0600 Subject: [PATCH] aSubRecord: Copy the right amount of data Initialize OVLx from VALx with NEVx elements, size from FTVx --- src/rec/aSubRecord.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/rec/aSubRecord.c b/src/rec/aSubRecord.c index ee7f80876..087b35d25 100644 --- a/src/rec/aSubRecord.c +++ b/src/rec/aSubRecord.c @@ -208,10 +208,12 @@ static long init_record(aSubRecord *prec, int pass) strcpy(prec->onam, prec->snam); prec->oval = prec->val; for (i = 0; i < NUM_ARGS; i++) { - (&prec->onva)[i] = (&prec->nova)[i]; - memcpy((&prec->ovla)[i], - (&prec->vala)[i], - (&prec->nova)[i]); + epicsUInt32 nev = (&prec->neva)[i]; + + (&prec->onva)[i] = nev; + if (nev) + memcpy((&prec->ovla)[i], (&prec->vala)[i], + dbValueSize((&prec->ftva)[i]) * nev); } return 0; }