chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
systemd-analyze: use argparse instead of getopt
[elogind.git]
/
src
/
shared
/
socket-util.c
diff --git
a/src/shared/socket-util.c
b/src/shared/socket-util.c
index 471b6dc2842719ac525bc6bcdd019909d70af1e4..49ea75880dbbd569a9c8c4fdb667835f8e062b3d 100644
(file)
--- a/
src/shared/socket-util.c
+++ b/
src/shared/socket-util.c
@@
-35,6
+35,7
@@
#include "macro.h"
#include "util.h"
#include "mkdir.h"
#include "macro.h"
#include "util.h"
#include "mkdir.h"
+#include "path-util.h"
#include "socket-util.h"
#include "missing.h"
#include "socket-util.h"
#include "missing.h"
@@
-166,7
+167,8
@@
int socket_address_parse(SocketAddress *a, const char *s) {
} else {
/* Just a port */
} else {
/* Just a port */
- if ((r = safe_atou(s, &u)) < 0)
+ r = safe_atou(s, &u);
+ if (r < 0)
return r;
if (u <= 0 || u > 0xFFFF)
return r;
if (u <= 0 || u > 0xFFFF)
@@
-192,7
+194,7
@@
int socket_address_parse(SocketAddress *a, const char *s) {
int socket_address_parse_netlink(SocketAddress *a, const char *s) {
int family;
unsigned group = 0;
int socket_address_parse_netlink(SocketAddress *a, const char *s) {
int family;
unsigned group = 0;
-
char*
sfamily = NULL;
+
_cleanup_free_ char *
sfamily = NULL;
assert(a);
assert(s);
assert(a);
assert(s);
@@
-203,13
+205,9
@@
int socket_address_parse_netlink(SocketAddress *a, const char *s) {
if (sscanf(s, "%ms %u", &sfamily, &group) < 1)
return errno ? -errno : -EINVAL;
if (sscanf(s, "%ms %u", &sfamily, &group) < 1)
return errno ? -errno : -EINVAL;
- if ((family = netlink_family_from_string(sfamily)) < 0)
- if (safe_atoi(sfamily, &family) < 0) {
- free(sfamily);
- return -EINVAL;
- }
-
- free(sfamily);
+ family = netlink_family_from_string(sfamily);
+ if (family < 0)
+ return -EINVAL;
a->sockaddr.nl.nl_family = AF_NETLINK;
a->sockaddr.nl.nl_groups = group;
a->sockaddr.nl.nl_family = AF_NETLINK;
a->sockaddr.nl.nl_groups = group;
@@
-365,15
+363,12
@@
int socket_address_print(const SocketAddress *a, char **p) {
}
case AF_NETLINK: {
}
case AF_NETLINK: {
- const char *sfamily;
-
- if ((sfamily = netlink_family_to_string(a->protocol)))
- r = asprintf(p, "%s %u", sfamily, a->sockaddr.nl.nl_groups);
- else
- r = asprintf(p, "%i %u", a->protocol, a->sockaddr.nl.nl_groups);
+ char _cleanup_free_ *sfamily = NULL;
+ r = netlink_family_to_string_alloc(a->protocol, &sfamily);
if (r < 0)
if (r < 0)
- return -ENOMEM;
+ return r;
+ r = asprintf(p, "%s %u", sfamily, a->sockaddr.nl.nl_groups);
return 0;
}
return 0;
}
@@
-538,7
+533,7
@@
static const char* const netlink_family_table[] = {
[NETLINK_ECRYPTFS] = "ecryptfs"
};
[NETLINK_ECRYPTFS] = "ecryptfs"
};
-DEFINE_STRING_TABLE_LOOKUP
(netlink_family, int
);
+DEFINE_STRING_TABLE_LOOKUP
_WITH_FALLBACK(netlink_family, int, INT_MAX
);
static const char* const socket_address_bind_ipv6_only_table[_SOCKET_ADDRESS_BIND_IPV6_ONLY_MAX] = {
[SOCKET_ADDRESS_DEFAULT] = "default",
static const char* const socket_address_bind_ipv6_only_table[_SOCKET_ADDRESS_BIND_IPV6_ONLY_MAX] = {
[SOCKET_ADDRESS_DEFAULT] = "default",