summaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
authorMinje Ahn <minje.ahn@samsung.com>2017-07-10 02:13:24 (GMT)
committerMinje Ahn <minje.ahn@samsung.com>2017-07-10 02:18:21 (GMT)
commit37e9042aa25253fe91f67d0ed2e7cb7cfda25b88 (patch)
tree8620745e63c873532fd421f9125ceb55e82befd1 /src/util
parent19fcd8fbf7baff560bc70737d42a5c3ea26887bb (diff)
downloadlibmedia-thumbnail-37e9042aa25253fe91f67d0ed2e7cb7cfda25b88.zip
libmedia-thumbnail-37e9042aa25253fe91f67d0ed2e7cb7cfda25b88.tar.gz
libmedia-thumbnail-37e9042aa25253fe91f67d0ed2e7cb7cfda25b88.tar.bz2
Reduce error checkerrefs/changes/15/137815/2
1. Reinforce query 2. Merge function Change-Id: Ia6c560056f7c4daeaf2dd9107308b91876e19a93 Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Diffstat (limited to 'src/util')
-rwxr-xr-xsrc/util/media-thumb-db.c83
1 files changed, 22 insertions, 61 deletions
diff --git a/src/util/media-thumb-db.c b/src/util/media-thumb-db.c
index 6f20e12..eab4ef1 100755
--- a/src/util/media-thumb-db.c
+++ b/src/util/media-thumb-db.c
@@ -34,55 +34,6 @@ sqlite3 *_media_thumb_db_get_handle()
return db_handle;
}
-int _media_thumb_get_thumb_path_wh_from_db(sqlite3 *handle,
- const char *origin_path,
- char *thumb_path,
- int max_length,
- int *width,
- int *height)
-{
-
- int err = MS_MEDIA_ERR_NONE;
- char *query_string = NULL;
- sqlite3_stmt *stmt = NULL;
-
- thumb_retvm_if(handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "DB handle is NULL");
- thumb_retvm_if(!STRING_VALID(origin_path), MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid origin_path");
-
- query_string = sqlite3_mprintf(SELECT_THUMB_BY_PATH, origin_path);
- thumb_retvm_if(!STRING_VALID(query_string), MS_MEDIA_ERR_OUT_OF_MEMORY, "Memory allocation is failed");
-
- thumb_dbg_slog("Query: %s", query_string);
-
- err = sqlite3_prepare_v2(handle, query_string, strlen(query_string), &stmt, NULL);
- SQLITE3_SAFE_FREE(query_string);
- if (SQLITE_OK != err) {
- thumb_err("prepare error [%s]", sqlite3_errmsg(handle));
- return MS_MEDIA_ERR_DB_INTERNAL;
- }
-
- err = sqlite3_step(stmt);
- if (err != SQLITE_ROW) {
- thumb_err("end of row [%s]", sqlite3_errmsg(handle));
- SQLITE3_FINALIZE(stmt);
- return MS_MEDIA_ERR_DB_INTERNAL;
- }
-
- if (sqlite3_column_text(stmt, 0)) {
- strncpy(thumb_path, (const char *)sqlite3_column_text(stmt, 0), max_length);
- *width = sqlite3_column_int(stmt, 1);
- *height = sqlite3_column_int(stmt, 2);
- } else {
- thumb_path[0] = '\0';
- *width = 0;
- *height = 0;
- }
-
- SQLITE3_FINALIZE(stmt);
-
- return MS_MEDIA_ERR_NONE;
-}
-
int _media_thumb_db_connect(uid_t uid)
{
int err = MS_MEDIA_ERR_NONE;
@@ -113,24 +64,34 @@ int _media_thumb_db_disconnect()
int _media_thumb_get_thumb_from_db_with_size(const char *origin_path, char *thumb_path, int max_length, int *width, int *height)
{
int err = MS_MEDIA_ERR_NONE;
- int orig_w = 0;
- int orig_h = 0;
+ char *query_string = NULL;
+ sqlite3_stmt *stmt = NULL;
+
+ thumb_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "DB handle is NULL");
+ thumb_retvm_if(!STRING_VALID(origin_path), MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid origin_path");
- err = _media_thumb_get_thumb_path_wh_from_db(db_handle, origin_path, thumb_path, max_length, &orig_w, &orig_h);
- thumb_retvm_if(err != MS_MEDIA_ERR_NONE, err, "Original path doesn't exist in DB");
- thumb_retvm_if(!STRING_VALID(thumb_path), MS_MEDIA_ERR_INTERNAL, "[No-error] thumb path doesn't exist in DB");
+ query_string = sqlite3_mprintf(SELECT_THUMB_BY_PATH, origin_path);
+ thumb_retvm_if(!STRING_VALID(query_string), MS_MEDIA_ERR_OUT_OF_MEMORY, "Memory allocation is failed");
+ thumb_dbg_slog("Query: %s", query_string);
- thumb_dbg_slog("Thumb path in DB is %s", thumb_path);
+ err = sqlite3_prepare_v2(db_handle, query_string, strlen(query_string), &stmt, NULL);
+ SQLITE3_SAFE_FREE(query_string);
+ thumb_retvm_if(SQLITE_OK != err, MS_MEDIA_ERR_DB_INTERNAL, "prepare error [%s]", sqlite3_errmsg(db_handle));
- if (!g_file_test(thumb_path, G_FILE_TEST_EXISTS)) {
- thumb_warn("thumb path doesn't exist in file system");
- return MS_MEDIA_ERR_INTERNAL;
+ if (sqlite3_step(stmt) == SQLITE_ROW) {
+ strncpy(thumb_path, (const char *)sqlite3_column_text(stmt, 0), max_length);
+ *width = sqlite3_column_int(stmt, 1);
+ *height = sqlite3_column_int(stmt, 2);
} else {
- thumb_dbg("This thumb path already exist");
- *width = orig_w;
- *height = orig_h;
+ thumb_err("end of row [%s]", sqlite3_errmsg(db_handle));
+ SQLITE3_FINALIZE(stmt);
+ return MS_MEDIA_ERR_DB_INTERNAL;
}
+ SQLITE3_FINALIZE(stmt);
+
+ thumb_retvm_if(!g_file_test(thumb_path, G_FILE_TEST_EXISTS), MS_MEDIA_ERR_INTERNAL, "thumb path doesn't exist in file system");
+
return MS_MEDIA_ERR_NONE;
}