diff --git a/src/StreamEpics.cc b/src/StreamEpics.cc index c1eadd6..6e41726 100644 --- a/src/StreamEpics.cc +++ b/src/StreamEpics.cc @@ -965,13 +965,13 @@ getFieldAddress(const char* fieldname, StreamBuffer& address) else { // FIELD in this record or VAL in other record - char fullname[PVNAME_SZ + 1]; - sprintf(fullname, "%s.%s", name(), fieldname); - if (dbNameToAddr(fullname, &dbaddr) != OK) + StreamBuffer fullname; + fullname.print("%s.%s", name(), fieldname); + if (dbNameToAddr(fullname(), &dbaddr) != OK) { // VAL in other record - sprintf(fullname, "%s.VAL", fieldname); - if (dbNameToAddr(fullname, &dbaddr) != OK) return false; + fullname.clear().print("%s.VAL", fieldname); + if (dbNameToAddr(fullname(), &dbaddr) != OK) return false; } } address.append(&dbaddr, sizeof(dbaddr));