#define for_each_wgpeer(__dev, __peer) for ((__peer) = (__dev)->first_peer; (__peer); (__peer) = (__peer)->next_peer)
#define for_each_wgallowedip(__peer, __allowedip) for ((__allowedip) = (__peer)->first_allowedip; (__allowedip); (__allowedip) = (__allowedip)->next_allowedip)
-#define max(a, b) ((a) > (b) ? (a) : (b))
static inline void free_wgdevice(struct wgdevice *dev)
{
#define SOCKET_BUFFER_SIZE 8192
#endif
-
struct inflatable_buffer {
char *buffer;
char *next;
size_t pos;
};
+#define max(a, b) ((a) > (b) ? (a) : (b))
static int add_next_to_inflatable_buffer(struct inflatable_buffer *buffer)
{
size_t len, expand_to;
int fd = -1, ret;
FILE *f = NULL;
- ret = -EINVAL;
+ errno = EINVAL;
if (strchr(interface, '/'))
goto out;
ret = snprintf(addr.sun_path, sizeof(addr.sun_path), SOCK_PATH "%s" SOCK_SUFFIX, interface);
ret = stat(addr.sun_path, &sbuf);
if (ret < 0)
goto out;
- ret = -EBADF;
+ errno = EBADF;
if (!S_ISSOCK(sbuf.st_mode))
goto out;
goto out;
}
f = fdopen(fd, "r+");
- if (!f)
- ret = -errno;
+ if (f)
+ errno = 0;
out:
- if (ret && fd >= 0)
- close(fd);
+ ret = -errno;
if (ret) {
+ if (fd >= 0)
+ close(fd);
errno = -ret;
return NULL;
}