Sortierung frueher erledigen
Die Ausgabeliste und die Eintragung der Suchergebnisse in
den Puffer erfolgen gleichzeitig. Wenn man die Sortierung
der Ausgabeliste hinterher nochmal aendert, stimmt die
Numerierung im Puffer nicht mehr mit der Liste ueberein,
so dass bei Eingabe von "man <zahl>" nicht der richtige
Treffer aus dem Puffer ausgelesen wird.
Change-Id: I1be5427d25786a0a883f69584ac26ce1b06ce019
diff --git a/std/shells/magier/fileview.c b/std/shells/magier/fileview.c
index 88f86b1..596e1b6 100644
--- a/std/shells/magier/fileview.c
+++ b/std/shells/magier/fileview.c
@@ -449,6 +449,14 @@
}
}
input = ({string *})MAND->locate(args[0], flags&(MAN_M|MAN_R));
+ // Sortierung case-insensitive, ggf. vorhandene Pfade dabei ignorieren
+ // Wird fuer die spaetere Ausgabe der Liste benoetigt.
+ input = sort_array(input, function int (string t1, string t2)
+ {
+ t1 = explode(t1, "/")[<1];
+ t2 = explode(t2, "/")[<1];
+ return lower_case(t1) > lower_case(t2);
+ });
}
oldman_result = 0;
@@ -485,14 +493,6 @@
i--;
}
- // Sortierung case-insensitive, ggf. vorhandene Pfade dabei ignorieren
- output = sort_array(output, function int (string t1, string t2)
- {
- t1 = explode(t1, "/")[<1];
- t2 = explode(t2, "/")[<1];
- return lower_case(t1) > lower_case(t2);
- });
-
// Numerierung ergaenzen
foreach(int j : sizeof(output))
{