Ich versuche seit einiger Zeit das Spiel unter Windows zum laufen zu kriegen. Klappt auch alles soweit, es funktioniert nach einigen Änderungen anscheinend wie es soll. Alles, bis auf den Ticker.
Ich hab die Tickersource auf Windows angepaßt, alle unix funktionen geändert oder rausgeschmissen. Der Ticker compiliert ohne Fehler. Allerdings hat er Probleme, sobald er längere Strings (> 1024) in MySQL eintragen soll. Die generierten resourcen Strings sind aber um einiges Länger (um die 8000).
Nach einem bißchen schauen in den Funktionen und etwas debugging scheint es als hängt das mit der Dynamischenspeicherzuweisung zusammen.
Wenn ich in der Funktion dstring_new einen größeren Wert als 1024 eintrage funktioniert alles wie es soll, nur dummerweise bekomme ich anscheinen dadurch ein Memoryleak. Im Taskmanager steigt der benutzte Speicher stetig an, obwohl der Ticker im Leerlauf ist. Bei einem Wert von 1024 macht er das nicht.
Es scheint als wenn die Funktion dstring_vappend nach mehrmaligen Aufrufen, wie es ja im Resourcenticker geschieht, irgendwann den vorigen String löscht und damit nur dieser eine Teilstring zu Mysql übergeben wird.
Ich kenne mich leider nicht besonders mit C aus, vielleicht kann mir hier jemand erklären wo der Fehler ist. Hat es damit zu tun dass es auf Win anstatt auf Unix läuft? Oder ist das ein Bug in der Source?
Ich kann mir nicht erklären, wo hier der Fehler sein soll. ABer naja ich bin auch kein Programmierer. Wäre dankbar für hilfe.


