diff --git a/src/ioc/db/dbAccess.c b/src/ioc/db/dbAccess.c index 973a66836..6e43959e3 100644 --- a/src/ioc/db/dbAccess.c +++ b/src/ioc/db/dbAccess.c @@ -1036,7 +1036,7 @@ static long dbPutFieldLink(DBADDR *paddr, return S_db_badDbrtype; } - status = dbParseLink(pstring, pfldDes->field_type, &link_info, 0); + status = dbParseLink(pstring, pfldDes->field_type, &link_info); if (status) return status; @@ -1343,4 +1343,3 @@ done: paddr->pfield = pfieldsave; return status; } - diff --git a/src/ioc/db/dbJLink.c b/src/ioc/db/dbJLink.c index 13470fe9a..10a4e62d2 100644 --- a/src/ioc/db/dbJLink.c +++ b/src/ioc/db/dbJLink.c @@ -38,7 +38,6 @@ typedef struct parseContext { short dbfType; short jsonDepth; unsigned key_is_link:1; - unsigned lset_debug:1; } parseContext; #define CALL_OR_STOP(routine) !(routine) ? jlif_stop : (routine) @@ -87,7 +86,6 @@ static int dbjl_value(parseContext *parser, jlif_result result) { } else if (parent->pif->end_child) { parent->pif->end_child(parent, pjlink); } - pjlink->debug = 0; parser->pjlink = parent; @@ -257,7 +255,7 @@ static int dbjl_map_key(void *ctx, const unsigned char *key, size_t len) { pjlink->pif = pjlif; pjlink->parseDepth = 0; - pjlink->debug = !!parser->lset_debug; + if (parser->pjlink) { /* We're starting a child link, save its parent */ pjlink->parent = parser->pjlink; @@ -345,7 +343,7 @@ static yajl_callbacks dbjl_callbacks = { }; long dbJLinkParse(const char *json, size_t jlen, short dbfType, - jlink **ppjlink, unsigned opts) + jlink **ppjlink) { parseContext context, *parser = &context; yajl_alloc_funcs dbjl_allocs; @@ -358,7 +356,6 @@ long dbJLinkParse(const char *json, size_t jlen, short dbfType, parser->dbfType = dbfType; parser->jsonDepth = 0; parser->key_is_link = 0; - parser->lset_debug = !!(opts&LINK_DEBUG_LSET); IFDEBUG(10) printf("dbJLinkInit(\"%.*s\", %d, %p)\n", diff --git a/src/ioc/db/dbJLink.h b/src/ioc/db/dbJLink.h index 61b59670b..954b69be5 100644 --- a/src/ioc/db/dbJLink.h +++ b/src/ioc/db/dbJLink.h @@ -2,7 +2,7 @@ * Copyright (c) 2016 UChicago Argonne LLC, as Operator of Argonne * National Laboratory. * EPICS BASE is distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* in file LICENSE that is included with this distribution. \*************************************************************************/ /* dbJLink.h */ @@ -35,7 +35,6 @@ typedef struct jlink { struct jlif *pif; /* Link methods */ struct jlink *parent; /* NULL for top-level links */ int parseDepth; /* Used by parser, unused afterwards */ - unsigned debug:1; /* set by caller of jlif operations to request debug output to console */ /* Link types extend or embed this structure for private storage */ } jlink; @@ -98,7 +97,7 @@ typedef struct jlif { void (*report)(const jlink *, int level, int indent); /* Optional, print status information about this link instance, then * if (level > 0) print a link identifier (at indent+2) and call - * dbJLinkReport(child, level-1, indent+4) + * dbJLinkReport(child, level-1, indent+4) * for each child. */ @@ -113,7 +112,7 @@ typedef struct jlif { } jlif; epicsShareFunc long dbJLinkParse(const char *json, size_t len, short dbfType, - jlink **ppjlink, unsigned opts); + jlink **ppjlink); epicsShareFunc long dbJLinkInit(struct link *plink); epicsShareFunc void dbJLinkFree(jlink *); @@ -130,4 +129,3 @@ epicsShareFunc long dbJLinkMapAll(char *recname, jlink_map_fn rtn, void *ctx); #endif #endif /* INC_dbJLink_H */ - diff --git a/src/ioc/db/test/dbPutLinkTest.c b/src/ioc/db/test/dbPutLinkTest.c index d6748a9eb..00634fd66 100644 --- a/src/ioc/db/test/dbPutLinkTest.c +++ b/src/ioc/db/test/dbPutLinkTest.c @@ -87,7 +87,7 @@ static void testLinkParse(void) for (;td->str; td++) { int i, N; testDiag("Parsing \"%s\"", td->str); - testOk(dbParseLink(td->str, DBF_INLINK, &info, 0) == 0, "Parser returned OK"); + testOk(dbParseLink(td->str, DBF_INLINK, &info) == 0, "Parser returned OK"); if (!testOk(info.ltype == td->info.ltype, "Link type value")) testDiag("Expected %d, got %d", td->info.ltype, info.ltype); if (td->info.target) @@ -147,7 +147,7 @@ static void testLinkFailParse(void) eltc(1); for(;*td; td++) { - testOk(dbParseLink(*td, DBF_INLINK, &info, 0) == S_dbLib_badField, + testOk(dbParseLink(*td, DBF_INLINK, &info) == S_dbLib_badField, "dbParseLink correctly rejected \"%s\"", *td); } diff --git a/src/ioc/dbStatic/dbStaticLib.c b/src/ioc/dbStatic/dbStaticLib.c index 7549a0da6..4f14c5596 100644 --- a/src/ioc/dbStatic/dbStaticLib.c +++ b/src/ioc/dbStatic/dbStaticLib.c @@ -2205,7 +2205,7 @@ long dbInitRecordLinks(dbRecordType *rtyp, struct dbCommon *prec) if(!plink->text) continue; - if(dbParseLink(plink->text, pflddes->field_type, &link_info, 0)!=0) { + if(dbParseLink(plink->text, pflddes->field_type, &link_info)!=0) { /* This was already parsed once when ->text was set. * Any syntax error messages were printed at that time. */ @@ -2234,7 +2234,7 @@ void dbFreeLinkInfo(dbLinkInfo *pinfo) pinfo->target = NULL; } -long dbParseLink(const char *str, short ftype, dbLinkInfo *pinfo, unsigned opts) +long dbParseLink(const char *str, short ftype, dbLinkInfo *pinfo) { char *pstr; size_t len; @@ -2270,7 +2270,7 @@ long dbParseLink(const char *str, short ftype, dbLinkInfo *pinfo, unsigned opts) /* Check for braces => JSON */ if (*str == '{' && str[len-1] == '}') { - if (dbJLinkParse(str, len, ftype, &pinfo->jlink, opts)) + if (dbJLinkParse(str, len, ftype, &pinfo->jlink)) goto fail; pinfo->ltype = JSON_LINK; @@ -2605,19 +2605,8 @@ long dbPutString(DBENTRY *pdbentry,const char *pstring) case DBF_FWDLINK: { dbLinkInfo link_info; DBLINK *plink = (DBLINK *)pfield; - DBENTRY infoentry; - unsigned opts = 0; - if(pdbentry->precnode && ellCount(&pdbentry->precnode->infoList)) { - dbCopyEntryContents(pdbentry, &infoentry); - - if(dbFindInfo(&infoentry, "base:lsetDebug")==0 && epicsStrCaseCmp(dbGetInfoString(&infoentry), "YES")==0) - opts |= LINK_DEBUG_LSET; - - dbFinishEntry(&infoentry); - } - - status = dbParseLink(pstring, pflddes->field_type, &link_info, opts); + status = dbParseLink(pstring, pflddes->field_type, &link_info); if (status) break; if (plink->type==CONSTANT && plink->value.constantStr==NULL) { diff --git a/src/ioc/dbStatic/dbStaticPvt.h b/src/ioc/dbStatic/dbStaticPvt.h index b1ad70de6..85fc02217 100644 --- a/src/ioc/dbStatic/dbStaticPvt.h +++ b/src/ioc/dbStatic/dbStaticPvt.h @@ -59,12 +59,10 @@ typedef struct dbLinkInfo { long dbInitRecordLinks(dbRecordType *rtyp, struct dbCommon *prec); -#define LINK_DEBUG_LSET 1 - /* Parse link string. no record locks needed. * on success caller must free pinfo->target */ -epicsShareFunc long dbParseLink(const char *str, short ftype, dbLinkInfo *pinfo, unsigned opts); +epicsShareFunc long dbParseLink(const char *str, short ftype, dbLinkInfo *pinfo); /* Check if link type allow the parsed link value pinfo * to be assigned to the given link. * Record containing plink must be locked.