diff options
Diffstat (limited to 'src/gpt-auto-generator/gpt-auto-generator.c')
-rw-r--r-- | src/gpt-auto-generator/gpt-auto-generator.c | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c index 22dfd5496d..50acb7595c 100644 --- a/src/gpt-auto-generator/gpt-auto-generator.c +++ b/src/gpt-auto-generator/gpt-auto-generator.c @@ -97,9 +97,9 @@ static int add_cryptsetup(const char *id, const char *what, bool rw, char **devi id, what, rw ? "" : "read-only", id); - fflush(f); - if (ferror(f)) - return log_error_errno(errno, "Failed to write file %s: %m", p); + r = fflush_and_check(f); + if (r < 0) + return log_error_errno(r, "Failed to write file %s: %m", p); from = strjoina("../", n); @@ -223,9 +223,9 @@ static int add_mount( else fprintf(f, "Options=%s\n", rw ? "rw" : "ro"); - fflush(f); - if (ferror(f)) - return log_error_errno(errno, "Failed to write unit file %s: %m", p); + r = fflush_and_check(f); + if (r < 0) + return log_error_errno(r, "Failed to write unit file %s: %m", p); if (post) { lnk = strjoin(arg_dest, "/", post, ".requires/", unit, NULL); @@ -301,9 +301,9 @@ static int add_automount( where, (unsigned long long)timeout / USEC_PER_SEC); - fflush(f); - if (ferror(f)) - return log_error_errno(errno, "Failed to write unit file %s: %m", p); + r = fflush_and_check(f); + if (r < 0) + return log_error_errno(r, "Failed to write unit file %s: %m", p); lnk = strjoin(arg_dest, "/" SPECIAL_LOCAL_FS_TARGET ".wants/", unit, NULL); if (!lnk) @@ -426,9 +426,9 @@ static int add_swap(const char *path) { "What=%s\n", path); - fflush(f); - if (ferror(f)) - return log_error_errno(errno, "Failed to write unit file %s: %m", unit); + r = fflush_and_check(f); + if (r < 0) + return log_error_errno(r, "Failed to write unit file %s: %m", unit); lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET ".wants/", name, NULL); if (!lnk) @@ -727,9 +727,8 @@ static int enumerate_partitions(dev_t devnum) { boot_nr = nr; - free(boot); - boot = strdup(subnode); - if (!boot) + r = free_and_strdup(&boot, subnode); + if (r < 0) return log_oom(); } else if (sd_id128_equal(type_id, GPT_HOME)) { @@ -741,9 +740,8 @@ static int enumerate_partitions(dev_t devnum) { home_nr = nr; home_rw = !(flags & GPT_FLAG_READ_ONLY), - free(home); - home = strdup(subnode); - if (!home) + r = free_and_strdup(&home, subnode); + if (r < 0) return log_oom(); } else if (sd_id128_equal(type_id, GPT_SRV)) { @@ -755,9 +753,8 @@ static int enumerate_partitions(dev_t devnum) { srv_nr = nr; srv_rw = !(flags & GPT_FLAG_READ_ONLY), - free(srv); - srv = strdup(subnode); - if (!srv) + r = free_and_strdup(&srv, subnode); + if (r < 0) return log_oom(); } } |