HILFEEE Segmentation Fault
-
Warum kommt Segmentation Fault weiß nicht mehr weiter
bin für jede Hilfe dankbar !!!
Lg
void myDup() { struct _SubCommand_ *ptr = start; struct id3tag *rootelement = start_pointer; struct id3tag *suchelement = rootelement->next; struct id3tag *tempelement= rootelement; int nrdersuchkrit = 0; int erfsuchkrit = 0; int anzdopfiles = 0; unsigned int binarysuchkrit = 0; while(ptr != NULL) { if(strcmp(ptr->my_command,"title") == 0) { nrdersuchkrit++; binarysuchkrit|=0x01; } else if(strcmp(ptr->my_command,"artist") == 0) { nrdersuchkrit++; binarysuchkrit|=0x02; } else if(strcmp(ptr->my_command,"album") == 0) { nrdersuchkrit++; binarysuchkrit|=0x04; } ptr = ptr->next1; } //Fuer jedes Element im Playlistfile: while(rootelement != NULL) { while(suchelement != NULL) { if(rootelement == suchelement) { suchelement = suchelement->next; } if(rootelement == NULL) { return; } if((binarysuchkrit&0x01) == 1 && strcmp(rootelement->title, suchelement->title) == 0) { erfsuchkrit++; } if((binarysuchkrit&0x02) == 1 && strcmp(rootelement->artist, suchelement->artist) == 0) { erfsuchkrit++; } if((binarysuchkrit&0x04) == 1 && strcmp(rootelement->album, suchelement->album) == 0) { erfsuchkrit++; } //wie viele Kriterien erfuellt?: if(nrdersuchkrit==erfsuchkrit) { anzdopfiles++; tempelement->next = suchelement->next; free(suchelement); suchelement=tempelement->next; } else { suchelement=suchelement->next; } erfsuchkrit=0; } if(anzdopfiles) { anzdopfiles++; printf("%s/%s (%d)\n",rootelement->title,rootelement->album, anzdopfiles);//title/artist von rootelement beziehen und anzhal von duppl von anzdopfiles anzdopfiles=0; } suchelement = start_pointer; rootelement=rootelement->next; } }
-
...
-
Ähm danke für deinen Verweis aber die Duplikate werden bereits richtig ausgegeben das Problem ist dass er sich zum Schluss aufhängt .
mfG
-
Was passiert in Zeile 42, wenn du schon beim letzten suchelement bist?
(Ich gehe davon aus, dass dann ->next NULL ist).Das würde auch zu
Biene1989 schrieb:
das Problem ist dass er sich zum Schluss aufhängt .
passen.
Schau dir mal den Befehl
continue
an.Wozu ist überhaupt Zeile 44 da. Kann das jemals eintreten?
Biene1989 schrieb:
... aber die Duplikate werden bereits richtig ausgegeben
Das ist gelogen. Oder du hast noch nicht nach artist oder album gesucht.
Ich gehe auch mal davon aus, dass dies eine reine Testfunktion ist, denn sonst würde hier wieder über globale Variable und leere Parameterlisten diskutiert werden.