aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid M. Syzdek <david@syzdek.net>2021-10-06 08:20:54 -0800
committerDavid M. Syzdek <david@syzdek.net>2021-10-06 08:20:54 -0800
commite03768df3eea22c8690cb56fd240776e85a86883 (patch)
tree87d46f146447e595b38c459b731574cbfad15638
parent69db1fc9bd91e294a6e6b60e4e213ff979303c40 (diff)
downloaddmstools-e03768df3eea22c8690cb56fd240776e85a86883.tar.gz
dmstools-e03768df3eea22c8690cb56fd240776e85a86883.tar.bz2
dmstools-e03768df3eea22c8690cb56fd240776e85a86883.tar.xz
dmstools-e03768df3eea22c8690cb56fd240776e85a86883.zip
netcalc: updating to track address family display output with new variable
-rw-r--r--src/netcalc.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/netcalc.c b/src/netcalc.c
index 8c3ae45..e4fa60a 100644
--- a/src/netcalc.c
+++ b/src/netcalc.c
@@ -126,6 +126,8 @@ struct _netcalc
126 int32_t cidr_limit; 126 int32_t cidr_limit;
127 int32_t cidr_incr; 127 int32_t cidr_incr;
128 int32_t family; 128 int32_t family;
129 int32_t display;
130 int32_t pad32;
129 uint64_t opts; 131 uint64_t opts;
130 size_t count; 132 size_t count;
131 netcalc_ip * lower; 133 netcalc_ip * lower;
@@ -315,6 +317,7 @@ int netcalc_init( netcalc ** cnfp )
315 (*cnfp)->cidr_limit = -1; 317 (*cnfp)->cidr_limit = -1;
316 (*cnfp)->cidr_incr = -1; 318 (*cnfp)->cidr_incr = -1;
317 (*cnfp)->family = NETCALC_INET; 319 (*cnfp)->family = NETCALC_INET;
320 (*cnfp)->display = NETCALC_INET;
318 321
319 (*cnfp)->len_netmask = 7; 322 (*cnfp)->len_netmask = 7;
320 (*cnfp)->len_network = 7; 323 (*cnfp)->len_network = 7;
@@ -604,7 +607,7 @@ int netcalc_ip_parse_ipv6_mapped_ipv4( netcalc * cnf, netcalc_ip * ip, char * no
604 607
605int netcalc_ip_string( netcalc * cnf, netcalc_ip * ip, char * str, size_t size ) 608int netcalc_ip_string( netcalc * cnf, netcalc_ip * ip, char * str, size_t size )
606{ 609{
607 if (cnf->family == NETCALC_INET) 610 if (cnf->display == NETCALC_INET)
608 return(netcalc_ip_string_ipv4(cnf, ip, str, size)); 611 return(netcalc_ip_string_ipv4(cnf, ip, str, size));
609 return(netcalc_ip_string_ipv6(cnf, ip, str, size)); 612 return(netcalc_ip_string_ipv6(cnf, ip, str, size));
610} 613}
@@ -841,7 +844,7 @@ void netcalc_print_ip( netcalc * cnf, netcalc_ip * ip, int32_t cidr, int header
841 }; 844 };
842 845
843 // print IPv4 information 846 // print IPv4 information
844 if (cnf->family == NETCALC_INET) 847 if (cnf->display == NETCALC_INET)
845 { 848 {
846 if ((header)) 849 if ((header))
847 { 850 {
@@ -962,7 +965,7 @@ int main(int argc, char * argv[])
962 break; 965 break;
963 966
964 case '6': 967 case '6':
965 cnf->family = NETCALC_INET6; 968 cnf->display = NETCALC_INET6;
966 break; 969 break;
967 970
968 case 'a': 971 case 'a':
@@ -1077,15 +1080,16 @@ int main(int argc, char * argv[])
1077 }; 1080 };
1078 1081
1079 // sets defaults and adjusts cidr 1082 // sets defaults and adjusts cidr
1083 cnf->display = (cnf->family == NETCALC_INET6) ? NETCALC_INET6 : cnf->display;
1080 if (cnf->family == NETCALC_INET) 1084 if (cnf->family == NETCALC_INET)
1081 { 1085 {
1082 cnf->cidr_limit = ((cnf->cidr_limit == -1) ? 32 : cnf->cidr_limit) + 128 - 32; 1086 cnf->cidr_limit = ((cnf->cidr_limit == -1) ? 32 : cnf->cidr_limit) + 128 - 32;
1083 cnf->cidr_incr = ((cnf->cidr_incr == -1) ? 32 : cnf->cidr_incr) + 128 - 32; 1087 cnf->cidr_incr = ((cnf->cidr_incr == -1) ? 32 : cnf->cidr_incr) + 128 - 32;
1084 cnf->cidr = (cnf->cidr < cnf->cidr_limit) ? cnf->cidr : cnf->cidr_limit; 1088 cnf->cidr = (cnf->cidr < cnf->cidr_limit) ? cnf->cidr : cnf->cidr_limit;
1085 } else { 1089 } else {
1086 cnf->cidr_limit = (cnf->cidr_limit == -1) ? 64 : cnf->cidr_limit; 1090 cnf->cidr_limit = (cnf->cidr_limit == -1) ? 64 : cnf->cidr_limit;
1087 cnf->cidr_incr = (cnf->cidr_incr == -1) ? 64 : cnf->cidr_incr; 1091 cnf->cidr_incr = (cnf->cidr_incr == -1) ? 64 : cnf->cidr_incr;
1088 cnf->cidr = (cnf->cidr < cnf->cidr_limit) ? cnf->cidr : cnf->cidr_limit; 1092 cnf->cidr = (cnf->cidr < cnf->cidr_limit) ? cnf->cidr : cnf->cidr_limit;
1089 }; 1093 };
1090 1094
1091 // calculate inclusive CIDR 1095 // calculate inclusive CIDR