mirror of
https://github.com/systemd/systemd
synced 2026-03-23 23:34:52 +01:00
Compare commits
3 Commits
8bf79f0553
...
a4d9c121cc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a4d9c121cc | ||
|
|
0ddd5e547e | ||
|
|
7ecc424fbe |
@ -51,9 +51,11 @@ static inline void *mfree(void *memory) {
|
||||
|
||||
#define free_and_replace(a, b) \
|
||||
({ \
|
||||
free(a); \
|
||||
(a) = (b); \
|
||||
(b) = NULL; \
|
||||
typeof(a)* _a = &(a); \
|
||||
typeof(b)* _b = &(b); \
|
||||
free(*_a); \
|
||||
(*_a) = (*_b); \
|
||||
(*_b) = NULL; \
|
||||
0; \
|
||||
})
|
||||
|
||||
|
||||
@ -233,9 +233,11 @@ int fputstrv(FILE *f, char * const *l, const char *separator, bool *space);
|
||||
|
||||
#define strv_free_and_replace(a, b) \
|
||||
({ \
|
||||
strv_free(a); \
|
||||
(a) = (b); \
|
||||
(b) = NULL; \
|
||||
char ***_a = &(a); \
|
||||
char ***_b = &(b); \
|
||||
strv_free(*_a); \
|
||||
(*_a) = (*_b); \
|
||||
(*_b) = NULL; \
|
||||
0; \
|
||||
})
|
||||
|
||||
|
||||
@ -416,8 +416,7 @@ int xdg_autostart_format_exec_start(
|
||||
if (!escaped)
|
||||
return log_oom();
|
||||
|
||||
free_and_replace(exec_split[n], escaped);
|
||||
n++;
|
||||
free_and_replace(exec_split[n++], escaped);
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -457,8 +456,7 @@ int xdg_autostart_format_exec_start(
|
||||
if (!quoted)
|
||||
return log_oom();
|
||||
|
||||
free_and_replace(exec_split[n], quoted);
|
||||
n++;
|
||||
free_and_replace(exec_split[n++], quoted);
|
||||
}
|
||||
for (; exec_split[n]; n++)
|
||||
exec_split[n] = mfree(exec_split[n]);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user