Add name sorting.

This commit is contained in:
paulusja committed 2026-10-22 11:19:38 +02:00
1 parent 946d075c8e
commit 3b5d111351
1 file changed
+10 -1
+10 -1
View File
@@ -8,6 +8,7 @@ static unsigned int numberOfNames = 0;
static int findNameIdx(const char *name); static int findNameIdx(const char *name);
static void removeNameByIdx(unsigned int idx); static void removeNameByIdx(unsigned int idx);
static int compareNames(const void *arg1, const void *arg2);
// Fügt einen Namen hinzu. Im Fehlerfall (Archiv ist voll) soll 0, ansonsten 1 zurückgegeben werden. // Fügt einen Namen hinzu. Im Fehlerfall (Archiv ist voll) soll 0, ansonsten 1 zurückgegeben werden.
// Ist der angegebene Name länger als die zulässige Namenslänge, wird der Name abgeschnitten hinzugefügt. Rückgabe ist dann 1. // Ist der angegebene Name länger als die zulässige Namenslänge, wird der Name abgeschnitten hinzugefügt. Rückgabe ist dann 1.
@@ -66,10 +67,18 @@ void removeNameByIdx(unsigned int idx)
numberOfNames--; numberOfNames--;
} }
int compareNames(const void *arg1, const void *arg2)
{
const char (*name1)[MAX_NAME_LEN] = arg1;
const char (*name2)[MAX_NAME_LEN] = arg2;
return strcmp(*name1, *name2);
}
// Sortiert die Namen im Archiv aufsteigend. // Sortiert die Namen im Archiv aufsteigend.
void sortNames() void sortNames()
{ {
qsort(names, numberOfNames, sizeof(names[0]), compareNames);
} }
// Gibt die Namen zeilenweise aus. // Gibt die Namen zeilenweise aus.