Frage zu konvertierung von ctype in Python Typ

Python in C/C++ embedden, C-Module, ctypes, Cython, SWIG, SIP etc sind hier richtig.
BlackJack

@snow: Ich würde sagen mit raten kommt man hier nicht weiter. Man bräuchte ein minimales Beispiel was jeder nachvollziehen kann, also bei sich selber auf dem Rechner kompilieren und laufen lassen kann, was das Problem aufzeigt.
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@snow:
Im Python Bsp fehlt ja was - wenn er da abgebrochen hast, wäre der "korrupte" Pointer ausm Stacktrace noch ganz hilfreich ;)
snow
User
Beiträge: 25
Registriert: Mittwoch 4. Juli 2012, 08:52

edit: Ok Fehler ist gelöst xD Habe gerade noch eine Bedingung in die Python Methode gesetzt, dass wenn der Text leer ist, die Methode gar nicht ausgeführt werden soll und einfach ein leeres set zurück gegeben werden soll, mit dem Ziel weniger printouts zu haben. Nachdem ich gerade einfach aus Spaß den free Aufruf nochmal in die Methode gepackt habe ist das Programm auf einmal nicht mehr abgestürzt. :P

edit2: Nun ist auch der Grund gefunden warum es bei einem leeren String abgestürzt ist.

Code: Alles auswählen

DArray *newDArray() {
    DArray *arr = (DArray*) malloc(sizeof(DArray));
    arr->elems = NULL;
    arr->length = 0;
    arr->capacity = 0;
    return arr;
}

void dArrayFree(DArray *arr) {
    if (arr != NULL) {
        if (arr->elems != NULL){
            uint i;
            for (i = 0; i < arr->length; i++) {
                free(arr->elems[i]);
            }
            free(arr->elems);
        }
        free(arr);
    }
}
Da ich vorher nicht in der Methode newDArray den Pointer auf NULL gesetzt habe, wurde natürlich die Adresse auf irgendwas gesetzt. Die Prüfung in der Free Methode konnte natürlich nicht greifen und wollte irgendwo im Nirvana Speicher frei machen. Ich weiß, böser Patzer :oops:
Trotzdem danke für eure Hilfe :D
Antworten