Commit 0279c0b1 authored by pintar's avatar pintar
Browse files

padded bytes function was introduced

parent c4dc7c1e
Loading
Loading
Loading
Loading
+19 −4
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ module LibDiameter_Templates {
	//LibCommon    
    import from LibCommon_DataStrings {type Bit1, Bit4, Bit5, Bit8;}//all;
    import from LibCommon_BasicTypesAndValues {type UInt8, UInt32;};
    
    import from LibCommon_TextStrings { const c_NUL;};
    //LibDiameter
    import from LibDiameter_TypesAndValues all;
    import from LibDiameter_PIXITS all;
@@ -500,7 +500,7 @@ module LibDiameter_Templates {
            
            template Origin_Host_AVP m_originHost(charstring p_avpData) := {
				aVP_Header := m_aVP_HeaderVid(c_vendIdOrigin_Host_AVP, lengthof(p_avpData), omit),
				aVP_Data := p_avpData
				aVP_Data := f_paddedBytes_string(p_avpData)
			}          
                    
            template Result_Code_AVP mw_resultCode(template (present)/*integer*/Result_Code_Type p_avpData) := {
@@ -535,12 +535,12 @@ module LibDiameter_Templates {
			template Origin_Realm_AVP m_originRealm(template(value) charstring p_avpData) := 
			{
				aVP_Header := m_aVP_HeaderVid(c_vendIdOrigin_Realm_AVP, lengthof(p_avpData), omit),
				aVP_Data := p_avpData
				aVP_Data := f_paddedBytes_string(p_avpData)
			}
            
            template Product_Name_AVP m_productName(template(value) universal charstring p_avpData) := {
                aVP_Header := m_aVP_HeaderVid(c_vendIdProduct_Name_AVP, lengthof(p_avpData), omit),
                aVP_Data := p_avpData
                aVP_Data := f_paddedBytes_string(p_avpData)
            }
            
            template Vendor_Id_AVP m_vendorId(template(value) UInt32 p_avpData) := {
@@ -2211,6 +2211,21 @@ module LibDiameter_Templates {
        	else {return(4) }
        }
        
        function f_paddedBytes_string(in charstring p_char) return charstring {
            var integer v_string_length := lengthof(p_char);
            var charstring v_additionalPaddedString;

        	select(v_string_length mod 4){
                case (0) {v_additionalPaddedString:=""}
                case (1) {v_additionalPaddedString:=c_NUL & c_NUL & c_NUL}
                case (2) {v_additionalPaddedString:=c_NUL & c_NUL}
                case (3) {v_additionalPaddedString:=c_NUL}
        	}
	
            return p_char & v_additionalPaddedString;						
		
        } // end function f_paddedBytes_string
    
    }//end group FunctionsForTemplates  
    
}//end module LibDiameter_Templates
 No newline at end of file