Add name sorting.
This commit is contained in:
1 parent
946d075c8e
commit
3b5d111351
1 file changed
+10
-1
@@ -8,6 +8,7 @@ static unsigned int numberOfNames = 0;
|
||||
|
||||
static int findNameIdx(const char *name);
|
||||
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.
|
||||
// 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--;
|
||||
}
|
||||
|
||||
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.
|
||||
void sortNames()
|
||||
{
|
||||
|
||||
qsort(names, numberOfNames, sizeof(names[0]), compareNames);
|
||||
}
|
||||
|
||||
// Gibt die Namen zeilenweise aus.
|
||||
|
||||
Reference in new issue
Block a user