[systemd-commits] src/boot

Thomas H.P. Andersen phomes at kemper.freedesktop.org
Fri May 22 14:46:58 PDT 2015


 src/boot/bootctl.c |   16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

New commits:
commit 717442507b4b11aa1d76810d7b12b15948c7a250
Author: Thomas Hindoe Paaboel Andersen <phomes at gmail.com>
Date:   Fri May 22 23:40:19 2015 +0200

    bootctl: ferror must be called before FILE is closed
    
    Otherwise it will not show any error stored

diff --git a/src/boot/bootctl.c b/src/boot/bootctl.c
index 3a00757..ba534b1 100644
--- a/src/boot/bootctl.c
+++ b/src/boot/bootctl.c
@@ -884,7 +884,7 @@ static int install_loader_config(const char *esp_path) {
         char *p;
         char line[64];
         char *machine = NULL;
-        FILE *f;
+        _cleanup_fclose_ FILE *f = NULL, *g = NULL;
 
         f = fopen("/etc/machine-id", "re");
         if (!f)
@@ -899,18 +899,16 @@ static int install_loader_config(const char *esp_path) {
                 if (strlen(line) == 32)
                         machine = line;
         }
-        fclose(f);
 
         if (!machine)
                 return -ESRCH;
 
         p = strjoina(esp_path, "/loader/loader.conf");
-        f = fopen(p, "wxe");
-        if (f) {
-                fprintf(f, "#timeout 3\n");
-                fprintf(f, "default %s-*\n", machine);
-                fclose(f);
-                if (ferror(f))
+        g = fopen(p, "wxe");
+        if (g) {
+                fprintf(g, "#timeout 3\n");
+                fprintf(g, "default %s-*\n", machine);
+                if (ferror(g))
                         return log_error_errno(EIO, "Failed to write \"%s\": %m", p);
         }
 
@@ -926,7 +924,7 @@ static int help(void) {
                "     --path=PATH     Path to the EFI System Partition (ESP)\n"
                "     --no-variables  Don't touch EFI variables\n"
                "\n"
-               "Comands:\n"
+               "Commands:\n"
                "     status          Show status of installed systemd-boot and EFI variables\n"
                "     install         Install systemd-boot to the ESP and EFI variables\n"
                "     update          Update systemd-boot in the ESP and EFI variables\n"



More information about the systemd-commits mailing list