int rc;
char *err_msg = 0;
char sql[MAX_BUF_LEN + 1];
+ sqlite3_stmt *stmt = NULL;
rc = _sqlite_connect();
if (rc != SQLITE_OK) {
#endif
#if 1 /* insert key with parameter */
- {
- sqlite3_stmt *stmt = NULL;
+ do {
DBG("key[%s] value[%s]", in_key, strval);
snprintf(sql, MAX_BUF_LEN, "INSERT OR REPLACE INTO vconf ( layer, key, value ) "
"VALUES ( \"%s\", ?, ?);", "system");
rc = sqlite3_prepare(db, sql, strlen(sql), &stmt, 0);
if (rc != SQLITE_OK) {
ERR("sqlite3_prepare() Fail(%s)", sqlite3_errmsg(db));
- sqlite3_finalize(stmt);
- _sqlite_close();
- return VCONF_ERROR;
+ break;
}
- sqlite3_bind_text(stmt, 1, in_key, strlen(in_key), SQLITE_STATIC);
- sqlite3_bind_text(stmt, 2, strval, strlen(strval), SQLITE_STATIC);
+ rc = sqlite3_bind_text(stmt, 1, in_key, strlen(in_key), SQLITE_STATIC);
+ if (rc != SQLITE_OK) {
+ ERR("sqlite3_bind_text() Fail(%d) : %s", rc, sqlite3_errmsg(db));
+ break;
+ }
+
+ rc = sqlite3_bind_text(stmt, 2, strval, strlen(strval), SQLITE_STATIC);
+ if (rc != SQLITE_OK) {
+ ERR("sqlite3_bind_text() Fail(%d) : %s", rc, sqlite3_errmsg(db));
+ break;
+ }
rc = sqlite3_step(stmt);
if (rc != SQLITE_DONE) {
ERR("sqlite3_step() Fail(%s)", sqlite3_errmsg(db));
- sqlite3_finalize(stmt);
- _sqlite_close();
- return VCONF_ERROR;
+ break;
}
- sqlite3_finalize(stmt);
- }
+ } while (0);
#endif
+ sqlite3_finalize(stmt);
_sqlite_close();
- return VCONF_OK;
+
+ if (rc == SQLITE_DONE || rc == SQLITE_OK)
+ return VCONF_OK;
+ else
+ return VCONF_ERROR;
}
API int vconf_set(keylist_t *keylist)
}
} while (1);
- sqlite3_bind_text(stmt, 1, in_key, strlen(in_key), SQLITE_STATIC);
- rc = sqlite3_step(stmt);
- if (rc != SQLITE_ROW) {
- ERR("sqlite3_step() Fail(%s)", in_key);
- sqlite3_finalize(stmt);
- _sqlite_close();
- return NULL;
- }
+ do {
+ rc = sqlite3_bind_text(stmt, 1, in_key, strlen(in_key), SQLITE_STATIC);
+ if (rc != SQLITE_OK) {
+ ERR("sqlite3_bind_text() Fail(%d) : %s", rc, sqlite3_errmsg(db));
+ break;
+ }
+ rc = sqlite3_step(stmt);
+ if (rc != SQLITE_ROW) {
+ ERR("sqlite3_step() Fail(%s)", in_key);
+ break;
+ }
- DBG("vconf get: layer[%s] key[%s], value[%s]",
- sqlite3_column_text(stmt, 0),
- sqlite3_column_text(stmt, 1),
- sqlite3_column_text(stmt, 2));
+ DBG("vconf get: layer[%s] key[%s], value[%s]",
+ sqlite3_column_text(stmt, 0),
+ sqlite3_column_text(stmt, 1),
+ sqlite3_column_text(stmt, 2));
- str = (char*)malloc(MAX_BUF_LEN + 1);
- if (NULL == str) {
- ERR("malloc(%d) Fail()", MAX_BUF_LEN + 1);
- sqlite3_finalize(stmt);
- _sqlite_close();
- return NULL;
- }
+ const unsigned char *sq_str = sqlite3_column_text(stmt, 2);
+ if (NULL == sq_str) {
+ ERR("sqlite3_column_text() Fail() : %s", sqlite3_errmsg(db));
+ break;
+ }
+ str = strdup((const char*)sq_str);
- strncpy(str, (char*)sqlite3_column_text(stmt, 2), MAX_BUF_LEN);
+ DBG("vconf get: key[%s], value[%s]", in_key, str);
+ } while (0);
sqlite3_finalize(stmt);
_sqlite_close();
- DBG("vconf get: key[%s], value[%s]", in_key, str);
return str;
}