From 5eb7da45957640b20b07347dc4a7008c25e1b63f Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Sun, 27 Jan 2019 18:17:53 -0800 Subject: [PATCH] dbRec2Pvt() --- modules/database/src/ioc/db/dbAccess.c | 4 ++-- modules/database/src/ioc/db/dbCommonPvt.h | 8 ++++++++ modules/database/src/ioc/dbStatic/dbStaticRun.c | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/modules/database/src/ioc/db/dbAccess.c b/modules/database/src/ioc/db/dbAccess.c index dfe3e0455..323131767 100644 --- a/modules/database/src/ioc/db/dbAccess.c +++ b/modules/database/src/ioc/db/dbAccess.c @@ -679,7 +679,7 @@ finish: void dbInitEntryFromAddr(struct dbAddr *paddr, DBENTRY *pdbentry) { struct dbCommon *prec = paddr->precord; - dbCommonPvt *ppvt = CONTAINER(prec, dbCommonPvt, common); + dbCommonPvt *ppvt = dbRec2Pvt(prec); memset((char *)pdbentry,'\0',sizeof(DBENTRY)); @@ -693,7 +693,7 @@ void dbInitEntryFromAddr(struct dbAddr *paddr, DBENTRY *pdbentry) void dbInitEntryFromRecord(struct dbCommon *prec, DBENTRY *pdbentry) { - dbCommonPvt *ppvt = CONTAINER(prec, dbCommonPvt, common); + dbCommonPvt *ppvt = dbRec2Pvt(prec); memset((char *)pdbentry,'\0',sizeof(DBENTRY)); diff --git a/modules/database/src/ioc/db/dbCommonPvt.h b/modules/database/src/ioc/db/dbCommonPvt.h index 3dfce8b27..e91de6f65 100644 --- a/modules/database/src/ioc/db/dbCommonPvt.h +++ b/modules/database/src/ioc/db/dbCommonPvt.h @@ -1,6 +1,8 @@ #ifndef DBCOMMONPVT_H #define DBCOMMONPVT_H +#include +#include #include "dbCommon.h" /** Base internal additional information for every record @@ -11,4 +13,10 @@ typedef struct dbCommonPvt { struct dbCommon common; } dbCommonPvt; +static EPICS_ALWAYS_INLINE +dbCommonPvt* dbRec2Pvt(struct dbCommon *prec) +{ + return CONTAINER(prec, dbCommonPvt, common); +} + #endif // DBCOMMONPVT_H diff --git a/modules/database/src/ioc/dbStatic/dbStaticRun.c b/modules/database/src/ioc/dbStatic/dbStaticRun.c index d3817ffc5..46cbf982a 100644 --- a/modules/database/src/ioc/dbStatic/dbStaticRun.c +++ b/modules/database/src/ioc/dbStatic/dbStaticRun.c @@ -179,7 +179,7 @@ long dbFreeRecord(DBENTRY *pdbentry) if(!pdbRecordType) return(S_dbLib_recordTypeNotFound); if(!precnode) return(S_dbLib_recNotFound); if(!precnode->precord) return(S_dbLib_recNotFound); - free(CONTAINER(precnode->precord, dbCommonPvt, common)); + free(dbRec2Pvt(precnode->precord)); precnode->precord = NULL; return(0); }