]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellLevel2CommandsLib/Ls.c
ShellPkg/Ls: sort output by FileName in non-SFO mode
[mirror_edk2.git] / ShellPkg / Library / UefiShellLevel2CommandsLib / Ls.c
index da2b1acab47cf75dd76ffec2fea9fbed582bf449..8b97926d7f47cf57c33ae7c57ce4e4dae146771a 100644 (file)
@@ -489,6 +489,20 @@ PrintLsOutput(
       PrintSfoVolumeInfoTableEntry(ListHead);\r
     }\r
 \r
+    if (!Sfo) {\r
+      //\r
+      // Sort the file list by FileName, stably.\r
+      //\r
+      // If the call below fails, then the EFI_SHELL_FILE_INFO list anchored to\r
+      // ListHead will not be changed in any way.\r
+      //\r
+      ShellSortFileList (\r
+        &ListHead,\r
+        NULL,                       // Duplicates\r
+        ShellSortFileListByFileName\r
+        );\r
+    }\r
+\r
     for ( Node = (EFI_SHELL_FILE_INFO *)GetFirstNode(&ListHead->Link), LongestPath = 0\r
         ; !IsNull(&ListHead->Link, &Node->Link)\r
         ; Node = (EFI_SHELL_FILE_INFO *)GetNextNode(&ListHead->Link, &Node->Link)\r