diff options
author | Luca Boccassi <bluca@debian.org> | 2023-04-14 14:15:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-14 14:15:35 +0100 |
commit | 4d67245472fd236298e2a33c2dbed55780cfdd0d (patch) | |
tree | 01c8cb1cb8f673b7c27a027be817ef86845c429e /src/shared | |
parent | 465529125a0654fec96d8b98de965b71e4df8ab4 (diff) | |
parent | cfc28ee232ce07106137a42d2d467305c00163fe (diff) | |
download | systemd-4d67245472fd236298e2a33c2dbed55780cfdd0d.tar.gz |
Merge pull request #27266 from dtardon/take-struct
Use TAKE_STRUCT() to copy and reset structs
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/bootspec.c | 6 | ||||
-rw-r--r-- | src/shared/cpu-set-util.c | 14 | ||||
-rw-r--r-- | src/shared/install.c | 3 | ||||
-rw-r--r-- | src/shared/numa-util.c | 3 |
4 files changed, 11 insertions, 15 deletions
diff --git a/src/shared/bootspec.c b/src/shared/bootspec.c index 7cc63e8848..a5ae2478fe 100644 --- a/src/shared/bootspec.c +++ b/src/shared/bootspec.c @@ -389,8 +389,7 @@ static int boot_entry_load_type1( return log_syntax(NULL, LOG_ERR, tmp.path, line, r, "Error while parsing: %m"); } - *entry = tmp; - tmp = (BootEntry) {}; + *entry = TAKE_STRUCT(tmp); return 0; } @@ -744,8 +743,7 @@ static int boot_entry_load_unified( return log_oom(); } - *ret = tmp; - tmp = (BootEntry) {}; + *ret = TAKE_STRUCT(tmp); return 0; } diff --git a/src/shared/cpu-set-util.c b/src/shared/cpu-set-util.c index 34c13cf969..d096576cd6 100644 --- a/src/shared/cpu-set-util.c +++ b/src/shared/cpu-set-util.c @@ -145,6 +145,8 @@ int parse_cpu_set_full( _cleanup_(cpu_set_reset) CPUSet c = {}; const char *p = ASSERT_PTR(rvalue); + assert(cpu_set); + for (;;) { _cleanup_free_ char *word = NULL; unsigned cpu_lower, cpu_upper; @@ -181,9 +183,7 @@ int parse_cpu_set_full( } } - /* On success, transfer ownership to the output variable */ - *cpu_set = c; - c = (CPUSet) {}; + *cpu_set = TAKE_STRUCT(c); return 0; } @@ -200,6 +200,8 @@ int parse_cpu_set_extend( _cleanup_(cpu_set_reset) CPUSet cpuset = {}; int r; + assert(old); + r = parse_cpu_set_full(rvalue, &cpuset, true, unit, filename, line, lvalue); if (r < 0) return r; @@ -211,8 +213,7 @@ int parse_cpu_set_extend( } if (!old->set) { - *old = cpuset; - cpuset = (CPUSet) {}; + *old = TAKE_STRUCT(cpuset); return 1; } @@ -286,7 +287,6 @@ int cpu_set_from_dbus(const uint8_t *bits, size_t size, CPUSet *set) { return r; } - *set = s; - s = (CPUSet) {}; + *set = TAKE_STRUCT(s); return 0; } diff --git a/src/shared/install.c b/src/shared/install.c index a95206a1aa..eddc41964a 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -3310,8 +3310,7 @@ static int read_presets(RuntimeScope scope, const char *root_dir, UnitFilePreset } ps.initialized = true; - *presets = ps; - ps = (UnitFilePresets){}; + *presets = TAKE_STRUCT(ps); return 0; } diff --git a/src/shared/numa-util.c b/src/shared/numa-util.c index 4f757f0b55..a954ea349e 100644 --- a/src/shared/numa-util.c +++ b/src/shared/numa-util.c @@ -120,8 +120,7 @@ int numa_to_cpu_set(const NUMAPolicy *policy, CPUSet *ret) { return r; } - *ret = s; - s = (CPUSet) {}; + *ret = TAKE_STRUCT(s); return 0; } |