int split_pair(const char *s, const char *sep, char **l, char **r);
int free_and_strdup(char **p, const char *s);
+static inline int free_and_strdup_warn(char **p, const char *s) {
+ if (free_and_strdup(p, s) < 0)
+ return log_oom();
+ return 0;
+}
int free_and_strndup(char **p, const char *s, size_t l);
char *string_erase(char *x);
static int oci_absolute_path(const char *name, JsonVariant *v, JsonDispatchFlags flags, void *userdata) {
char **p = userdata;
const char *n;
- int r;
assert(p);
return json_log(v, flags, SYNTHETIC_ERRNO(EINVAL),
"Path in JSON field '%s' is not absolute: %s", strna(name), n);
- r = free_and_strdup(p, n);
- if (r < 0)
- return log_oom();
-
- return 0;
+ return free_and_strdup_warn(p, n);
}
static int oci_env(const char *name, JsonVariant *v, JsonDispatchFlags flags, void *userdata) {
return json_log(v, flags, SYNTHETIC_ERRNO(EINVAL),
"Hostname string is not a valid hostname: %s", n);
- if (free_and_strdup(&s->hostname, n) < 0)
- return log_oom();
-
- return 0;
+ return free_and_strdup_warn(&s->hostname, n);
}
static bool oci_exclude_mount(const char *path) {