Dennis Wronka
Soulcollector
So, wieder ein neuer Tag mit C, PHP und lausig konfigurierten Servern...
Mir ist grad in Deinem Code aufgefallen, dass Du cl_free() zu frueh aufrufst. Das wird Dir wohl nicht aufgefallen sein, da Du mit einer sauberen Datei arbeitest und ich zusaetzlich noch eine mit Test-String habe.
Das Resultat der verfruehten Freigabe durch cl_free() ist folgendes:
Ansonsten ist unser Code ja nicht mehr so verschieden, ich werd mich noch etwas mit Deinen Aenderungen beschaeftigen und diese dann noch implementieren.
Macht es eigentlich einen Unterschied ob ich eine Variable in der Funktion deklariere (wie Du es mit *line machst) oder ausserhalb (wie ich mit *part1)?
Ich selbst find es ja nicht so schoen Variablen irgendwo mittem im Code zu deklarieren.
Wenn eine Variable nur innerhalb einer Funktion und nicht global existiert, dann erstell ich diese zu Beginn der Funktion, vor irgendwelchem Code.
Nachtrag: So, grad mal die Fehlerbehandlung fuer die Arbeit mit der temporaeren Datei eingeloetet und allen Fehlern eine Fehlermeldung verliehen. So langsam nimmt das ganze irgendwie echt Form an.
Nachtrag 2: Aus Spass hab ich grad mal alles entfernt was mit der LibClamAV zu tun hat und versucht es unter Windows zu kompilieren, und siehe da: es geht.![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
Nur ist das Windows-Binary mal eben 20K groesser als Linux-Binary.
Mir ist grad in Deinem Code aufgefallen, dass Du cl_free() zu frueh aufrufst. Das wird Dir wohl nicht aufgefallen sein, da Du mit einer sauberen Datei arbeitest und ich zusaetzlich noch eine mit Test-String habe.
Das Resultat der verfruehten Freigabe durch cl_free() ist folgendes:
Eigentlich sollte es so aussehen:X-Virus-Checker: Scanned by mailscan 0.94 (Virus found: ðwr-Test-Signature)
Aber das ist ja nicht so tragisch.X-Virus-Checker: Scanned by mailscan 0.94 (Virus found: Eicar-Test-Signature)
Ansonsten ist unser Code ja nicht mehr so verschieden, ich werd mich noch etwas mit Deinen Aenderungen beschaeftigen und diese dann noch implementieren.
Macht es eigentlich einen Unterschied ob ich eine Variable in der Funktion deklariere (wie Du es mit *line machst) oder ausserhalb (wie ich mit *part1)?
Ich selbst find es ja nicht so schoen Variablen irgendwo mittem im Code zu deklarieren.
Wenn eine Variable nur innerhalb einer Funktion und nicht global existiert, dann erstell ich diese zu Beginn der Funktion, vor irgendwelchem Code.
Nachtrag: So, grad mal die Fehlerbehandlung fuer die Arbeit mit der temporaeren Datei eingeloetet und allen Fehlern eine Fehlermeldung verliehen. So langsam nimmt das ganze irgendwie echt Form an.
Nachtrag 2: Aus Spass hab ich grad mal alles entfernt was mit der LibClamAV zu tun hat und versucht es unter Windows zu kompilieren, und siehe da: es geht.
![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
Nur ist das Windows-Binary mal eben 20K groesser als Linux-Binary.