Loading codec/c++/sip_codets.cpp +23 −0 Original line number Diff line number Diff line Loading @@ -647,6 +647,7 @@ private: SIP_HEADER_ADD (Alert-Info, , alertInfo, ALERT_INFO_E); SIP_HEADER_ADD (Require, , require, REQUIRE_E); SIP_HEADER_ADD (Proxy-Require, , proxyRequire, PROXY_REQUIRE_E); SIP_HEADER_ADD (Record-Route, , recordRoute, RECORD_ROUTE_E); { mEntries.push_back(Entry("", "", MessageHeader::id_undefinedHeader_List, "")); Entry& e = *mEntries.rbegin(); Loading Loading @@ -1268,5 +1269,27 @@ void OptionTag_List::PreDecodeField(int id, Buffer& buffer) throw (DecodeError) } } void RouteBody_List::PreDecodeField(int id, Buffer& buffer) throw (DecodeError) { static Regex reg_comma ("^,"); if (id) { if (reg_comma.Match(buffer)) { reg_comma.MovePast(buffer); } else { SetHypSize(-2); } } } void RouteBody::PreDecodeField(int id, Buffer& buffer) throw (DecodeError) { static Regex reg_semi ("^;"); if (id == id_rrParam) { SetHypFieldIsPresent (id, reg_semi.Match(buffer) ? 1 : 0); } } }} // namespaces Loading
codec/c++/sip_codets.cpp +23 −0 Original line number Diff line number Diff line Loading @@ -647,6 +647,7 @@ private: SIP_HEADER_ADD (Alert-Info, , alertInfo, ALERT_INFO_E); SIP_HEADER_ADD (Require, , require, REQUIRE_E); SIP_HEADER_ADD (Proxy-Require, , proxyRequire, PROXY_REQUIRE_E); SIP_HEADER_ADD (Record-Route, , recordRoute, RECORD_ROUTE_E); { mEntries.push_back(Entry("", "", MessageHeader::id_undefinedHeader_List, "")); Entry& e = *mEntries.rbegin(); Loading Loading @@ -1268,5 +1269,27 @@ void OptionTag_List::PreDecodeField(int id, Buffer& buffer) throw (DecodeError) } } void RouteBody_List::PreDecodeField(int id, Buffer& buffer) throw (DecodeError) { static Regex reg_comma ("^,"); if (id) { if (reg_comma.Match(buffer)) { reg_comma.MovePast(buffer); } else { SetHypSize(-2); } } } void RouteBody::PreDecodeField(int id, Buffer& buffer) throw (DecodeError) { static Regex reg_semi ("^;"); if (id == id_rrParam) { SetHypFieldIsPresent (id, reg_semi.Match(buffer) ? 1 : 0); } } }} // namespaces