From d741c106354675a647d680dbda92e2b4986b493a Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 30 Nov 2012 16:43:16 -0600 Subject: [PATCH] Another helper, dbLoadLinkLS Replaces recGblInitConstantLink(..., DBF_STRING, ...) --- src/ioc/db/dbLink.c | 14 ++++++++++++++ src/ioc/db/dbLink.h | 3 +++ 2 files changed, 17 insertions(+) diff --git a/src/ioc/db/dbLink.c b/src/ioc/db/dbLink.c index 914252862..54e131566 100644 --- a/src/ioc/db/dbLink.c +++ b/src/ioc/db/dbLink.c @@ -651,6 +651,20 @@ void dbScanFwdLink(struct link *plink) /* Helper functions for long string support */ +long dbLoadLinkLS(struct link *plink, char *pbuffer, epicsUInt32 size, + epicsUInt32 *plen) +{ + if (plink->type == CONSTANT && + plink->value.constantStr) { + strncpy(pbuffer, plink->value.constantStr, --size); + pbuffer[size] = 0; + *plen = strlen(pbuffer) + 1; + return 0; + } + + return S_db_notFound; +} + long dbGetLinkLS(struct link *plink, char *pbuffer, epicsUInt32 size, epicsUInt32 *plen) { diff --git a/src/ioc/db/dbLink.h b/src/ioc/db/dbLink.h index cb4b412ed..ff0de3003 100644 --- a/src/ioc/db/dbLink.h +++ b/src/ioc/db/dbLink.h @@ -80,6 +80,9 @@ epicsShareFunc long dbGetTimeStamp(const struct link *plink, epicsShareFunc long dbPutLink(struct link *, short dbrType, const void *pbuffer, long nRequest); epicsShareFunc void dbScanFwdLink(struct link *plink); + +epicsShareFunc long dbLoadLinkLS(struct link *plink, char *pbuffer, + epicsUInt32 size, epicsUInt32 *plen); epicsShareFunc long dbGetLinkLS(struct link *plink, char *pbuffer, epicsUInt32 buffer_size, epicsUInt32 *plen); epicsShareFunc long dbPutLinkLS(struct link *plink, char *pbuffer,