diff --git a/src/catools/tool_lib.c b/src/catools/tool_lib.c index 380457756a2aef15925c768e05db9f9f25932f52..ddead11151eb67b1acb2b7f715222e4eeb31ee54 100644 --- a/src/catools/tool_lib.c +++ b/src/catools/tool_lib.c @@ -447,9 +447,11 @@ char *dbr2str (const void *value, unsigned type) dbr_char_t *s = (dbr_char_t*) dbr_value_ptr(pv->value, pv->dbrType); \ size_t len = strlen((char*)s); \ unsigned long elems = reqElems && (reqElems < pv->nElems) ? reqElems : pv->nElems; \ + int dlen; \ + char *d; \ if (len < elems) elems = len; \ - int dlen = epicsStrnEscapedFromRawSize((char*)s, elems); \ - char *d = calloc(dlen+1, sizeof(char)); \ + dlen = epicsStrnEscapedFromRawSize((char*)s, elems); \ + d = calloc(dlen+1, sizeof(char)); \ if(d) { \ epicsStrnEscapedFromRaw(d, dlen+1, (char*)s, elems); \ printf("%c%s", fieldSeparator, d); \