Files
@ 9b5ec6eedb5a
Branch filter:
Location: libtransport.git/backends/libcommuni/backports.h - annotation
9b5ec6eedb5a
1.6 KiB
text/plain
MySQLBackend: prepared statement results buffering, fixes #183
* cleanup unused code
* use mysql error constants instead of magic numbers
* cleanup unused code
* use mysql error constants instead of magic numbers
ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 ca9abbfa9866 | #include <QtCore>
#include <iostream>
#include <IrcCommand>
#include <IrcMessage>
namespace CommuniBackport {
bool parseColors(const QString& message, int pos, int* len, int* fg = 0, int* bg = 0)
{
// fg(,bg)
*len = 0;
if (fg)
*fg = -1;
if (bg)
*bg = -1;
QRegExp rx(QLatin1String("(\\d{1,2})(?:,(\\d{1,2}))?"));
int idx = rx.indexIn(message, pos);
if (idx == pos) {
*len = rx.matchedLength();
if (fg)
*fg = rx.cap(1).toInt();
if (bg) {
bool ok = false;
int tmp = rx.cap(2).toInt(&ok);
if (ok)
*bg = tmp;
}
}
return *len > 0;
}
/*!
Converts \a text to plain text. This function parses the text and
strips away IRC-style formatting like colors, bold and underline.
\sa toHtml()
*/
void toPlainText(QString& processed)
{
int pos = 0;
int len = 0;
while (pos < processed.size()) {
switch (processed.at(pos).unicode()) {
case '\x02': // bold
case '\x0f': // none
case '\x13': // strike-through
case '\x15': // underline
case '\x16': // inverse
case '\x1d': // italic
case '\x1f': // underline
processed.remove(pos, 1);
break;
case '\x03': // color
if (parseColors(processed, pos + 1, &len))
processed.remove(pos, len + 1);
else
processed.remove(pos, 1);
break;
default:
++pos;
break;
}
}
}
}
|