rendered paste bodytList* SortList(tList* pList, int(*fcmp)(void*pItList,void*pItNew)){ tList *neueliste, *pItAktuell, *pItNew; neueliste = CreateList(); pItAktuell = GetFirst(pList); while(hasnext(pList)) { pItAktuell = (tList*)GetNext( pList ); pItNew = (tList*) malloc(sizeof(struct Liste)); pItNew->ArtBest = pItAktuell->ArtBest; pItNew->ArtNr = pItAktuell->ArtNr; pItNew->ArtBez = (char*) malloc(strlen(pItAktuell->ArtBez)+1); memcpy(pItNew->ArtBez, pItAktuell->ArtBez, strlen(pItAktuell->ArtBez)+1); addItemToList(neueliste, pItNew, fcmp); } GetFirst(pList); GetNext( pList); while(hasnext(pList)) { RemoveItem(pList); } DeleteList(pList); return GetFirst(neueliste);}int suchen_bez (void* pItList, void*pItNew){ tList *neues; tList *pList; int ret=DAVOR; if (pItList == NULL || pItNew == NULL) { return FAIL; } neues = (tList*) pItNew; pList = (tList*) pItList; if (neues->ArtBez == NULL) { return FAIL; } while(pList->aktuell->erstes == FALSE) { pList->aktuell = pList->aktuell->next; } while(strcmp(((tList*)(pList->aktuell->element))->ArtBez, neues->ArtBez) <= 0) { if(pList->aktuell->next->erstes) { ret = DANACH; break; } pList->aktuell = pList->aktuell->next; } return ret;}