diff options
| author | David M. Syzdek <david@syzdek.net> | 2021-10-06 08:20:54 -0800 |
|---|---|---|
| committer | David M. Syzdek <david@syzdek.net> | 2021-10-06 08:20:54 -0800 |
| commit | e03768df3eea22c8690cb56fd240776e85a86883 (patch) | |
| tree | 87d46f146447e595b38c459b731574cbfad15638 | |
| parent | 69db1fc9bd91e294a6e6b60e4e213ff979303c40 (diff) | |
| download | dmstools-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.c | 22 |
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 | ||
| 605 | int netcalc_ip_string( netcalc * cnf, netcalc_ip * ip, char * str, size_t size ) | 608 | int 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 |
