Loading ttcn/LibDiameter_Steps.ttcn +71 −2 Original line number Diff line number Diff line Loading @@ -598,13 +598,82 @@ group GlobalSteps { } // end function f_Diameter_Set_Headers function f_IPAdresss (IPv4Addr p_ipv4,IPv6Addr p_ipv6) function f_IPAdress (IPv4Addr p_ipv4,IPv6Addr p_ipv6) return template Address {if (PX_IPv6) {return( {ipv6:= p_ipv6 } ) } else {return( {ipv4:= p_ipv4 } )} } function f_IPV4or6_String2Address (charstring p_addr) return template Address { var integer addr_len:=0; var integer i; //var integer addr[8]; var integer addr_i; var charstring num:=""; var charstring current:=""; var template Address v_ip; addr_len:=lengthof(p_addr); addr_i:=0; if (PX_IPv6){ for(i:=0;i<addr_len;i:=i+1){ current:=substr(p_addr,i,1); if(current==":"){ if ((lengthof(num) mod 2)==1){ num:="0"# } //addr[addr_i]:=oct2int(str2oct(num)); v_ip.ipv6[addr_i]:=oct2int(str2oct(num)); addr_i:=addr_i+1; num:=""; } else{ num:=num¤t; } } if (addr_i>7){ log("IPV6 parse ERROR"); }else{ if ((lengthof(num) mod 2)==1){ num:="0"# } //addr[addr_i]:=oct2int(str2oct(num)); v_ip.ipv6[addr_i]:=oct2int(str2oct(num)); num:=""; } return(v_ip) } else{ for(i:=0;i<addr_len;i:=i+1){ current:=substr(p_addr,i,1); if(current=="."){ //addr[addr_i]:=str2int(num); v_ip.ipv4[addr_i]:=str2int(num); addr_i:=addr_i+1; num:=""; }else{ num:=num¤t; } } if (addr_i>3){ log("IPV4 parse ERROR"); }else{ //addr[addr_i]:=str2int(num); v_ip.ipv4[addr_i]:=str2int(num); num:=""; } return(v_ip) } } }// end group GlobalSteps Loading Loading
ttcn/LibDiameter_Steps.ttcn +71 −2 Original line number Diff line number Diff line Loading @@ -598,13 +598,82 @@ group GlobalSteps { } // end function f_Diameter_Set_Headers function f_IPAdresss (IPv4Addr p_ipv4,IPv6Addr p_ipv6) function f_IPAdress (IPv4Addr p_ipv4,IPv6Addr p_ipv6) return template Address {if (PX_IPv6) {return( {ipv6:= p_ipv6 } ) } else {return( {ipv4:= p_ipv4 } )} } function f_IPV4or6_String2Address (charstring p_addr) return template Address { var integer addr_len:=0; var integer i; //var integer addr[8]; var integer addr_i; var charstring num:=""; var charstring current:=""; var template Address v_ip; addr_len:=lengthof(p_addr); addr_i:=0; if (PX_IPv6){ for(i:=0;i<addr_len;i:=i+1){ current:=substr(p_addr,i,1); if(current==":"){ if ((lengthof(num) mod 2)==1){ num:="0"# } //addr[addr_i]:=oct2int(str2oct(num)); v_ip.ipv6[addr_i]:=oct2int(str2oct(num)); addr_i:=addr_i+1; num:=""; } else{ num:=num¤t; } } if (addr_i>7){ log("IPV6 parse ERROR"); }else{ if ((lengthof(num) mod 2)==1){ num:="0"# } //addr[addr_i]:=oct2int(str2oct(num)); v_ip.ipv6[addr_i]:=oct2int(str2oct(num)); num:=""; } return(v_ip) } else{ for(i:=0;i<addr_len;i:=i+1){ current:=substr(p_addr,i,1); if(current=="."){ //addr[addr_i]:=str2int(num); v_ip.ipv4[addr_i]:=str2int(num); addr_i:=addr_i+1; num:=""; }else{ num:=num¤t; } } if (addr_i>3){ log("IPV4 parse ERROR"); }else{ //addr[addr_i]:=str2int(num); v_ip.ipv4[addr_i]:=str2int(num); num:=""; } return(v_ip) } } }// end group GlobalSteps Loading