grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] commands/ls: Print ???????????? if unable to get file size


From: Glenn Washburn
Subject: [PATCH] commands/ls: Print ???????????? if unable to get file size
Date: Mon, 14 Aug 2023 01:20:29 -0500

In long list mode, if the file can not be opened, the file is not printed.
Instead, print the file but print the size as ????????????.

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
 grub-core/commands/ls.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/grub-core/commands/ls.c b/grub-core/commands/ls.c
index c746eae0c7e7..6a1c7f5d3626 100644
--- a/grub-core/commands/ls.c
+++ b/grub-core/commands/ls.c
@@ -131,20 +131,20 @@ print_files_long (const char *filename, const struct 
grub_dirhook_info *info,
         should be reported as directories.  */
       file = grub_file_open (pathname, GRUB_FILE_TYPE_GET_SIZE
                             | GRUB_FILE_TYPE_NO_DECOMPRESS);
-      if (! file)
+      if (file)
        {
-         grub_errno = 0;
-         grub_free (pathname);
-         return 0;
+         if (! ctx->human)
+           grub_printf ("%-12llu", (unsigned long long) file->size);
+         else
+           grub_printf ("%-12s", grub_get_human_size (file->size,
+                                                  GRUB_HUMAN_SIZE_SHORT));
+         grub_file_close (file);
        }
-
-      if (! ctx->human)
-       grub_printf ("%-12llu", (unsigned long long) file->size);
       else
-       grub_printf ("%-12s", grub_get_human_size (file->size,
-                                                  GRUB_HUMAN_SIZE_SHORT));
-      grub_file_close (file);
+       grub_xputs ("????????????");
+
       grub_free (pathname);
+      grub_errno = GRUB_ERR_NONE;
     }
   else
     grub_printf ("%-12s", _("DIR"));
-- 
2.34.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]