--- mqtt/src/pubmqtt.c 2011/12/08 17:02:25 1.1.2.14 +++ mqtt/src/pubmqtt.c 2011/12/14 12:45:30 1.1.2.16 @@ -39,7 +39,10 @@ mqtt_rtlm_open(sl_config *cfg) if (!cfg) return NULL; - sqlite3_config(SQLITE_CONFIG_SERIALIZED); + /* + if (!sqlite3_threadsafe() || sqlite3_config(SQLITE_CONFIG_SERIALIZED)) + return NULL; + */ str = (const char*) cfg_GetAttribute(cfg, CFG("mqtt_pub"), CFG("name")); if (!str) { @@ -388,10 +391,10 @@ mqtt_rtlm_read_topic(sl_config *cfg, sqlite3 *sql, u_s /* fill with data */ for (j = 0; j < rowz && sqlite3_step(stmt) == SQLITE_ROW; j++) { s[j].sub_ret = (char) sqlite3_column_int(stmt, 0); - s[j].sub_topic._base = strdup(sqlite3_column_text(stmt, 1)); - s[j].sub_topic._size = strlen(s[j].sub_topic._base); - s[j].sub_value._base = strdup(sqlite3_column_text(stmt, 2)); - s[j].sub_value._size = strlen(s[j].sub_value._base); + s[j].sub_topic._base = (u_char*) strdup((char*) sqlite3_column_text(stmt, 1)); + s[j].sub_topic._size = strlen((char*) s[j].sub_topic._base); + s[j].sub_value._base = (u_char*) strdup((char*) sqlite3_column_text(stmt, 2)); + s[j].sub_value._size = strlen((char*) s[j].sub_value._base); } end: sqlite3_finalize(stmt);