Commit 536682ba authored by baire's avatar baire
Browse files

support decoding ViaBody

parent 0ac52e22
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -740,5 +740,24 @@ void SentProtocol::PreDecodeField (int id, Buffer& buffer) throw (DecodeError)
	SetHypFieldLength (id, reg_sp.GetMatchedLength());
}

void ViaBody::PreDecodeField (int id, Buffer& buffer) throw (DecodeError)
{
	static Regex reg_lws ("^" SIPREG_LWS);
	static Regex reg_semi ("^;");

	switch (id) {
	case id_sentBy:
		reg_lws.AssertMatch (buffer, this);
		buffer.SetPosition(buffer.GetPosition() + reg_lws.GetMatchedLength());
		break;
	case id_viaParams:
		SetHypFieldIsPresent (id, reg_semi.Match (buffer) ? 1 : 0);
		break;
	default:
		;
	}
}



}} // namespaces