From 042f0bd841ac8d90b8a8faf48a9a3fbb3c78a8ee Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Wed, 11 Mar 2026 07:46:18 -1000 Subject: [PATCH] SCP: Fix SRDATA macros to properly size the structure element in its array --- sim_defs.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sim_defs.h b/sim_defs.h index a751642b..b69ccbf5 100644 --- a/sim_defs.h +++ b/sim_defs.h @@ -1063,11 +1063,11 @@ struct MEMFILE { _RegCheck(#nm,&(loc),rdx,wd,off,dep,desc,flds,0,sizeof(UNIT),sizeof((loc)),URDATADF),(fl) /* Arrayed register whose data is a field in a structure */ #define SRDATA(nm,aloc,floc,rdx,wd,off,dep) \ - _RegCheck(#nm,&((aloc)->floc),(rdx),(wd),(off),(dep),NULL,NULL,0,sizeof(*(&aloc)),sizeof((aloc)->floc),SRDATA) + _RegCheck(#nm,&((aloc)->floc),(rdx),(wd),(off),(dep),NULL,NULL,0,sizeof(aloc)/(dep),sizeof((aloc)->floc),SRDATA) #define SRDATAD(nm,aloc,floc,rdx,wd,off,dep,desc) \ - _RegCheck(#nm,&((aloc)->floc),(rdx),(wd),(off),(dep),desc,NULL,0,sizeof(*(&aloc)),sizeof((aloc)->floc),SRDATAD) + _RegCheck(#nm,&((aloc)->floc),(rdx),(wd),(off),(dep),desc,NULL,0,sizeof(aloc)/(dep),sizeof((aloc)->floc),SRDATAD) #define SRDATADF(nm,aloc,floc,rdx,wd,off,dep,desc,flds) \ - _RegCheck(#nm,&((aloc)->floc),(rdx),(wd),(off),(dep),desc,flds,0,sizeof(*(&aloc)),sizeof((aloc)->floc),SRDATADF) + _RegCheck(#nm,&((aloc)->floc),(rdx),(wd),(off),(dep),desc,flds,0,sizeof(aloc)/(dep),sizeof((aloc)->floc),SRDATADF) /* Arrayed register whose data is part of an arbitrary structure */ #define STRDATA(nm,loc,rdx,wd,off,dep,siz,fl) \