X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-network%2Fnetwork-internal.c;h=3407537eb5824620ecf69b2c33ee51da2e945a44;hb=0dd25fb9f005d8ab7ac4bc10a609d00569f8c56a;hp=317d5de6c4c5b4bf4a9d4cefce532f959ee797e0;hpb=31db01208bfefe2172aacf9c0d1ee3043a4117e3;p=elogind.git diff --git a/src/libsystemd-network/network-internal.c b/src/libsystemd-network/network-internal.c index 317d5de6c..3407537eb 100644 --- a/src/libsystemd-network/network-internal.c +++ b/src/libsystemd-network/network-internal.c @@ -304,7 +304,7 @@ int config_parse_hwaddr(const char *unit, return 0; } -int net_parse_inaddr(const char *address, unsigned char *family, void *dst) { +int net_parse_inaddr(const char *address, int *family, void *dst) { int r; assert(address); @@ -339,7 +339,7 @@ int net_parse_inaddr(const char *address, unsigned char *family, void *dst) { return 0; } -void serialize_in_addrs(FILE *f, const char *key, struct in_addr *addresses, size_t size) { +void serialize_in_addrs(FILE *f, const char *key, const struct in_addr *addresses, size_t size) { unsigned i; assert(f); @@ -356,14 +356,13 @@ void serialize_in_addrs(FILE *f, const char *key, struct in_addr *addresses, siz fputs("\n", f); } -int deserialize_in_addrs(struct in_addr **ret, size_t *ret_size, const char *string) { +int deserialize_in_addrs(struct in_addr **ret, const char *string) { _cleanup_free_ struct in_addr *addresses = NULL; - size_t size = 0; + int size = 0; char *word, *state; size_t len; assert(ret); - assert(ret_size); assert(string); FOREACH_WORD(word, len, string, state) { @@ -388,21 +387,19 @@ int deserialize_in_addrs(struct in_addr **ret, size_t *ret_size, const char *str size ++; } - *ret_size = size; *ret = addresses; addresses = NULL; - return 0; + return size; } -int deserialize_in6_addrs(struct in6_addr **ret, size_t *ret_size, const char *string) { +int deserialize_in6_addrs(struct in6_addr **ret, const char *string) { _cleanup_free_ struct in6_addr *addresses = NULL; - size_t size = 0; + int size = 0; char *word, *state; size_t len; assert(ret); - assert(ret_size); assert(string); FOREACH_WORD(word, len, string, state) { @@ -427,11 +424,10 @@ int deserialize_in6_addrs(struct in6_addr **ret, size_t *ret_size, const char *s size++; } - *ret_size = size; *ret = addresses; addresses = NULL; - return 0; + return size; } void serialize_dhcp_routes(FILE *f, const char *key, struct sd_dhcp_route *routes, size_t size) { @@ -465,7 +461,7 @@ int deserialize_dhcp_routes(struct sd_dhcp_route **ret, size_t *ret_size, size_t FOREACH_WORD(word, len, string, state) { /* WORD FORMAT: dst_ip/dst_prefixlen,gw_ip */ - _cleanup_free_ char* entry; + _cleanup_free_ char* entry = NULL; char *tok, *tok_end; unsigned n; int r;