@@ -45,8 +45,20 @@ int in4_addr_default_subnet_mask(const struct in_addr *addr, struct in_addr *mas
4545int in_addr_mask (int family , union in_addr_union * addr , unsigned char prefixlen );
4646int in_addr_prefix_covers (int family , const union in_addr_union * prefix , unsigned char prefixlen , const union in_addr_union * address );
4747int in_addr_parse_prefixlen (int family , const char * p , unsigned char * ret );
48- int in_addr_prefix_from_string (const char * p , int family , union in_addr_union * ret_prefix , unsigned char * ret_prefixlen );
49- int in_addr_prefix_from_string_auto (const char * p , int * ret_family , union in_addr_union * ret_prefix , unsigned char * ret_prefixlen );
48+ int in_addr_prefix_from_string_internal (const char * p , bool use_default_prefixlen , int family , union in_addr_union * ret_prefix , unsigned char * ret_prefixlen );
49+ int in_addr_prefix_from_string_auto_internal (const char * p , bool use_default_prefixlen , int * ret_family , union in_addr_union * ret_prefix , unsigned char * ret_prefixlen );
50+ static inline int in_addr_prefix_from_string (const char * p , int family , union in_addr_union * ret_prefix , unsigned char * ret_prefixlen ) {
51+ return in_addr_prefix_from_string_internal (p , false, family , ret_prefix , ret_prefixlen );
52+ }
53+ static inline int in_addr_prefix_from_string_auto (const char * p , int * ret_family , union in_addr_union * ret_prefix , unsigned char * ret_prefixlen ) {
54+ return in_addr_prefix_from_string_auto_internal (p , false, ret_family , ret_prefix , ret_prefixlen );
55+ }
56+ static inline int in_addr_default_prefix_from_string (const char * p , int family , union in_addr_union * ret_prefix , unsigned char * ret_prefixlen ) {
57+ return in_addr_prefix_from_string_internal (p , true, family , ret_prefix , ret_prefixlen );
58+ }
59+ static inline int in_addr_default_prefix_from_string_auto (const char * p , int * ret_family , union in_addr_union * ret_prefix , unsigned char * ret_prefixlen ) {
60+ return in_addr_prefix_from_string_auto_internal (p , true, ret_family , ret_prefix , ret_prefixlen );
61+ }
5062
5163static inline size_t FAMILY_ADDRESS_SIZE (int family ) {
5264 assert (IN_SET (family , AF_INET , AF_INET6 ));
0 commit comments