summaryrefslogtreecommitdiff
path: root/src/fstab-generator/fstab-generator.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-10-03 22:13:55 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-10-03 22:13:55 -0400
commit5862d652ba14178cff46b8a8fc6c6d8392bf32b1 (patch)
treeb5f526c49e7aa8f5115fd59faecac865bdefce22 /src/fstab-generator/fstab-generator.c
parent9a5cb1371b6d8b0a04bd08665bcf9b06cb40c64c (diff)
Introduce _cleanup_endmntent_
Diffstat (limited to 'src/fstab-generator/fstab-generator.c')
-rw-r--r--src/fstab-generator/fstab-generator.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
index 9efccb983d..9e7d55d177 100644
--- a/src/fstab-generator/fstab-generator.c
+++ b/src/fstab-generator/fstab-generator.c
@@ -301,15 +301,12 @@ static int add_mount(
}
static int parse_fstab(const char *prefix, bool initrd) {
- _cleanup_free_ char *fstab_path = NULL;
- FILE *f;
+ char *fstab_path;
+ _cleanup_endmntent_ FILE *f;
int r = 0;
struct mntent *me;
- fstab_path = strjoin(strempty(prefix), "/etc/fstab", NULL);
- if (!fstab_path)
- return log_oom();
-
+ fstab_path = strappenda(strempty(prefix), "/etc/fstab");
f = setmntent(fstab_path, "r");
if (!f) {
if (errno == ENOENT)
@@ -328,10 +325,8 @@ static int parse_fstab(const char *prefix, bool initrd) {
what = fstab_node_to_udev_node(me->mnt_fsname);
where = strjoin(strempty(prefix), me->mnt_dir, NULL);
- if (!what || !where) {
- r = log_oom();
- goto finish;
- }
+ if (!what || !where)
+ return log_oom();
if (is_path(where))
path_kill_slashes(where);
@@ -369,8 +364,6 @@ static int parse_fstab(const char *prefix, bool initrd) {
r = k;
}
-finish:
- endmntent(f);
return r;
}