diff --git a/src/std/rec/aSubRecord.c b/src/std/rec/aSubRecord.c index c014dd093..c4e99f430 100644 --- a/src/std/rec/aSubRecord.c +++ b/src/std/rec/aSubRecord.c @@ -206,6 +206,14 @@ static long init_record(aSubRecord *prec, int pass) } strcpy(prec->onam, prec->snam); prec->oval = prec->val; + for (i = 0; i < NUM_ARGS; 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; }