rem: static QValueList<QString> tokenizeBy(const QString& str, char tok) {
add: static QValueList<QString> tokenizeBy(const QString& str, const QRegExp& tok) {
context: static QValueList<QString> tokenizeBy(const QString& str, char tok) {QValueList<QString> tokens;unsigned int head, tail;const char *chstr = str.ascii();unsigned int length = str.length();  if (length < 1) return tokens;  if (length == 1) {    tokens.append(str);    return tokens;  }  for(head = 0, tail = 0; tail < length-1; head = tail+1) {    QString thisline;    tail = str.find(tok, head);    if (tail > length)           // last token - none at end      tail = length;    if (tail-head > 0) {    // it has to be at least 1 long!      thisline = &(chstr[head]);      thisline.truncate(tail-head);      tokens.append(thisline);    }  }return tokens;}