* +------------------------------------+
*
* InspIRCd: (C) 2002-2009 InspIRCd Development Team
- * See: http://www.inspircd.org/wiki/index.php/Credits
+ * See: http://wiki.inspircd.org/Credits
*
* This program is free but copyrighted software; see
* the file COPYING for details.
unsigned long count(const char * const str, char a)
{
unsigned long n = 0;
- const char *p = reinterpret_cast<const char *>(str);
-
- while ((p = strchr(p, a)) != NULL)
+ for (const char *p = reinterpret_cast<const char *>(str); *p; ++p)
{
- ++p;
- ++n;
+ if (*p == '?')
+ ++n;
}
return n;
}
/* Total length of the unescaped parameters */
unsigned long maxparamlen, paramcount;
- /* Total length of query, used for binary-safety */
- unsigned long querylength = 0;
-
/* The length of the longest parameter */
maxparamlen = 0;
*queryend = req.query.q[i];
queryend++;
}
- querylength++;
}
*queryend = 0;
req.query.q = query;
int OpenDB()
{
- return sqlite3_open(host.host.c_str(), &conn);
+ return sqlite3_open_v2(host.host.c_str(), &conn, SQLITE_OPEN_READWRITE, 0);
}
void CloseDB()
}
}
- virtual void OnRehash(User* user, const std::string ¶meter)
+ virtual void OnRehash(User* user)
{
ReadConf();
}