Zeichenkette weiter aufteilen (lighttpd-mod-mysql-vhost)
-
Guten Tag,
ich stehe seit längerem vor einem Problem. Und zwar versuche ein vorhandenes Stück Quelltext (funktionsfähig) so abzuändern, dass eine Konfiguration-Variable an mehr als einer Stelle aufgeteilt wird.
Das Original sieht vor, eine Zeichenkette an einem Fragezeichen zu teilen, und dazwischen den aufgerufenen Hostnamen einzusetzen.Mein Ziel ist es, entweder diese Sache mit einer Schleife auf ein vielfaches von 1 zu erweitern _oder_ mindestens 2 Teilstellen zu erstellen.
Das erste Ziel wäre die elegantere Lösung, das zweite Ziel würde meinem gewünschten Funktionsumfang entsprechen.
Das zu verändernde Orignal ist folgende Datei:
Ich habe es vor einiger Zeit schon einmal versucht, es jedoch mangels Zeit nicht weiter verfolgt, es allerdings im Entwicklungs-Bereich von Lighttpd als Feature-Request veröffentlicht. (Siehe: http://redmine.lighttpd.net/issues/2163 (englisch))
Meine Lösungsansätze betreffen die Zeilen 48, 108, 208, 226, 229-239, 310, 330, 370-378 der folgenden Datei:
http://redmine.lighttpd.net/attachments/1107/mod_mysql_vhost.c
Dabei habe ich der Struktur "plugin_config" den Puffer "*mysql_mid" hinzugefügt und diesen an mehreren stellen (wie *mysql_pre und *mysql_post auch) initialisiert oder geleert (buffer_free).
Ab Zeile 231 habe ich die Code so abgeändert, das der erste Teil abgetrennt wird, und der verbleibende Teil nocheinmal getrennt wird.Leider erhalte ich nach dem Compile-en Fehler-Meldungen wie:
18:10:29 atom019 kernel: lighttpd[2558]: segfault at 0 ip b7505bbf sp bff5f510 error 6 in libc-2.7.so[b7493000+138000]
wobei ich einen Hardware-Defekt (wg. segfault) ausschließen kann.
Ich denke, dass ich mit der veränderten Version den Speicher an einer stelle überschreibe. Leider konnte ich den Fehler bisher nicht finden.Aufgrund des größeren Quelltextes und der Zusammenhänge bringen Code-Abschnitte meines Erachtens nach nichts in diesem Post.
Auch wenn es mein erster Post in diesem Forum ist, hoffe ich, den angepinnten Regeln zu entsprechen. - Auch hoffe ich, mich klar und verständlich genug ausgedrückt zu haben. Sollten noch Rückfragen auftauchen, werde ich diese natürlich beantworten.
Mit freundlichem Gruß,
phpmysqlfreak