From fa859275c66afc639cd3d2ea8a74cfdc63be8b99 Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Thu, 10 Jan 2008 13:09:43 +0000 Subject: - added write functions for several types to stream class - changed objSerialize methods to work directly on the stream class --- msg.c | 54 +++++++++++++++++++++++++----------------------------- 1 file changed, 25 insertions(+), 29 deletions(-) (limited to 'msg.c') diff --git a/msg.c b/msg.c index 779224ee..f5ebf36a 100644 --- a/msg.c +++ b/msg.c @@ -387,40 +387,36 @@ msg_t* MsgDup(msg_t* pOld) * during msg construction - and never again used later. * rgerhards, 2008-01-03 */ -static rsRetVal MsgSerialize(msg_t *pThis, rsCStrObj **ppCStr) +static rsRetVal MsgSerialize(msg_t *pThis, strm_t *pStrm) { DEFiRet; - rsCStrObj *pCStr; - assert(ppCStr != NULL); - - CHKiRet(objBeginSerialize(&pCStr, (obj_t*) pThis, 1024)); - objSerializeSCALAR(iProtocolVersion, SHORT); - objSerializeSCALAR(iSeverity, SHORT); - objSerializeSCALAR(iFacility, SHORT); - objSerializeSCALAR(msgFlags, INT); - objSerializeSCALAR(tRcvdAt, SYSLOGTIME); - objSerializeSCALAR(tTIMESTAMP, SYSLOGTIME); - - objSerializePTR(pszRawMsg, PSZ); - objSerializePTR(pszMSG, PSZ); - objSerializePTR(pszUxTradMsg, PSZ); - objSerializePTR(pszTAG, PSZ); - objSerializePTR(pszHOSTNAME, PSZ); - objSerializePTR(pszRcvFrom, PSZ); - - objSerializePTR(pCSStrucData, CSTR); - objSerializePTR(pCSAPPNAME, CSTR); - objSerializePTR(pCSPROCID, CSTR); - objSerializePTR(pCSMSGID, CSTR); - - CHKiRet(objEndSerialize((&pCStr), (obj_t*) pThis)); - *ppCStr = pCStr; + assert(pThis != NULL); + assert(pStrm != NULL); + + CHKiRet(objBeginSerialize(pStrm, (obj_t*) pThis)); + objSerializeSCALAR(pStrm, iProtocolVersion, SHORT); + objSerializeSCALAR(pStrm, iSeverity, SHORT); + objSerializeSCALAR(pStrm, iFacility, SHORT); + objSerializeSCALAR(pStrm, msgFlags, INT); + objSerializeSCALAR(pStrm, tRcvdAt, SYSLOGTIME); + objSerializeSCALAR(pStrm, tTIMESTAMP, SYSLOGTIME); + + objSerializePTR(pStrm, pszRawMsg, PSZ); + objSerializePTR(pStrm, pszMSG, PSZ); + objSerializePTR(pStrm, pszUxTradMsg, PSZ); + objSerializePTR(pStrm, pszTAG, PSZ); + objSerializePTR(pStrm, pszHOSTNAME, PSZ); + objSerializePTR(pStrm, pszRcvFrom, PSZ); + + objSerializePTR(pStrm, pCSStrucData, CSTR); + objSerializePTR(pStrm, pCSAPPNAME, CSTR); + objSerializePTR(pStrm, pCSPROCID, CSTR); + objSerializePTR(pStrm, pCSMSGID, CSTR); + + CHKiRet(objEndSerialize(pStrm, (obj_t*) pThis)); finalize_it: - if(iRet != RS_RET_OK && pCStr != NULL) - rsCStrDestruct(pCStr); - return iRet; } -- cgit v1.2.3