From bbfa429c729a30daf0565a7aac2d79b243968ee8 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Mon, 13 Sep 2021 17:53:27 -0700 Subject: [PATCH] change up client rawRequest() .rawRequest(Value()) is a no-op. A truly empty request structure makes no sense. --- src/clientreq.cpp | 10 +++++----- test/testpvreq.cpp | 4 ---- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/clientreq.cpp b/src/clientreq.cpp index 421c2ce..b5cbeea 100644 --- a/src/clientreq.cpp +++ b/src/clientreq.cpp @@ -290,15 +290,15 @@ void CommonBase::_parse(const std::string& req) Value CommonBase::_buildReq() const { - if(!req) { + if(req && req->pvRequest) { + return req->pvRequest; + + } else if(!req) { using namespace pvxs::members; return TypeDef(TypeCode::Struct, { Struct("field", {}), }).create(); - } else if(req->pvRequest) { - return req->pvRequest; - } else { using namespace pvxs::members; @@ -306,7 +306,7 @@ Value CommonBase::_buildReq() const req->fields, }); - { + if(!req->options.empty()) { std::vector opts; for(auto& pair : req->options) { opts.push_back(TypeDef(pair.second).as(pair.first)); diff --git a/test/testpvreq.cpp b/test/testpvreq.cpp index bedd4df..c14c1bd 100644 --- a/test/testpvreq.cpp +++ b/test/testpvreq.cpp @@ -230,10 +230,6 @@ void testParseValue() " struct {\n" " } value\n" " } field\n" - " struct {\n" - " struct {\n" - " } _options\n" - " } record\n" "}\n" ); }