News
PPL 6.3.1 ist da
Änderungen
- ppl6::db::MySQL::FieldType: Die MySQL-Datentypen wurden nun mit
#ifdef's
versehen, damit auch ältere MySQL-Versionen funktionieren - ppl6.m4 hat jetzt ein Macro zum Prüfen, ob ein bestimmtes Feature in die Library einkompiliert wurde: AX_PPL6_FEATURE
- ppl6-config hat neues Flag zum Auslesen der einkompilierten Fearures:
--features
- ppl6::db::MySQL: Der Default für den zu verwendenden Zeichensatz bei der Kommunikation mit dem Server wurde von UTF-8 auf Latin1 geändert, da auch MySQL defaultmäßig Latin1 verwendet, wenn bei der Tabellenerstellung nicht explizit ein anderer Zeichensatz angegeben wurde. Der gewünschte Zeichensatz kann nun als Connect-Parameter "charset" angegeben werden.
- Bugfix in ppl6::db::MySQL: Die letzte Insert-Id wird nun bei Exec an der richtigen Stelle im Programmcode abgefragt, wodruch GetLastInsertID nun nicht mehr 0 zurückgibt.
- CTCPSocket wurde vollständig dokumentiert
- CTCPSocket: Der Konstruktor mit dem void-Pointer wurde entfernt, da dieser eh nur intern aufgerufen wurde
- CTCPSocket::Listen hat nun einen optionalen Parameter, der das Intervall definiert, in dem auf einen Stop-Wunsch geprüft wird. Ausserdem wird nun "select" verwendet, um auf eingehende Connects zu prüfen. Dadurch reagiert Listen schneller auf eingehende Verbindungen.
- CTCPSocket::ReceiveConnect erwartet nun "const char*" als zweiten Parameter und nicht mehr "char*".
- Funktion CTCPSocket::Poll entfernt
- Funktion CTCPSocket::SetWriteTimeout hinzugefügt
- CTCPSocket::SSL_Connect umbenannt in SSL_Start
- CSSL: In LoadTrustedCAfromFile und LoadTrustedCAfromPath wird nun am Ende die OpenSSL-Fehlerqueue gelöscht, da auch bei erfolgreichem Laden Fehler auftreten können (bereits bekannte Zertifikate werden nochmal geladen), die später zu Problemen führen können.
- CSSL: Die Enumeration "SSL_METHOD" ist nun Bestandteil der Klasse CSSL und nicht mehr in einem eigenen Namespace
- GetMicroSeconds wurde umbenannt in GetMilliSeconds, da die Funktion Millisekunden zurückliefert und keine Mikrosekunden.
- Der Datentyp "ARRAY_RESULT" ist nun kein "void *" mehr, sondern ein Pointer auf eine Struktur. Dadurch werden Codestellen, an denen noch GetArray(CString *) statt GetArray(CString &) aufgerufen wird nun als Fehler erkannt und nicht mehr vom Compiler als GetArray(ARRAY_RESULT) interpretiert.
- CID3Tag wurde überarbeitet:
- Alle String-Tags werden nun mit einem 0-Byte terminiert, wie es die Spezifikation vorschreibt.
- Statt UTF-8 werden alle Strings nun in UTF-16 geschrieben
- SetComment wurde nun (hoffentlich) korrekt implementiert
- CString: Preg-Funktionen machen nun Fallback auf Singlebyte-Zeichen, wenn der zu durchsuchende String ungültiges UTF-8 enthält
- strcasestr gibt nun "const char*" statt "char*" zurück
- CArray hat nun Copy-Funktionen
- CMHash::Hash kann nun auch mit einem String als Algorithmus aufgerufen werden
- CReadMail: Mehrere Fehler behoben, unter anderem einen in GetTranscodedBody, der dazu führte, dass die Funktion NULL zurückgegeben hat.
- Weitere Parameter von Member-Funktionen sind nun als "const" deklariert
- CMHash::GetResult löscht nun den Ergebnisparameter vorher
- CSendMail: Verbindung mit dem Mailserver wird nun ordnungsgemäß mit QUIT beendet.
Download
- ppl-6.3.1-src.tar.bz2: Quellcode, 1390 KB
- ppl-6.3.1-html.tar.bz2: HTML-Dokumentation, 1489 KB
- ppl-6.3.1-pdf.tar.bz2: HTML-Dokumentation, 3395 KB
- Online-Dokumentation im HTML-Format.