#define MEDIA_SHARE_PATH tzplatform_getenv(TZ_SYS_MEDIASHARED)
#endif
-#define MEDIA_DB_SIZE_LIMIT_2 20000000.0
-#define MEDIA_DB_SIZE_LIMIT_1 10000000.0
-#define MEDIA_DB_SPACE_LIMIT 20971520.0
+#define MEDIA_DB_SIZE_LIMIT_2 20000000
+#define MEDIA_DB_SIZE_LIMIT_1 10000000
+#define MEDIA_DB_SPACE_LIMIT 20971520
#define MEDIA_DEFAULT_UID 5001
#ifndef _MEDIA_SERVER_UTILS_H__
#define _MEDIA_SERVER_UTILS_H__
+#include <inttypes.h>
#include "media-util.h"
#include "media-common-types.h"
bool ms_config_get_int(const char *key, int *value);
bool ms_config_set_int(const char *key, int value);
bool ms_config_get_str(const char *key, char **value);
-int ms_get_remain_space(double *free_space);
+int ms_get_remain_space(uint64_t *free_space);
bool ms_is_valid_symlink(const char *path);
int ms_check_file_path(const char *file_path, uid_t uid);
int ms_set_db_status(ms_db_status_type_t status, ms_user_storage_type_e storage_type);
int ms_set_power_mode(ms_db_status_type_t status);
void ms_trim_dir_path(char *dir_path);
-int ms_check_size_mediadb(uid_t uid, double *db_size);
+int ms_check_size_mediadb(uid_t uid, uint64_t *db_size);
#ifdef _USE_TVPD_MODE
bool ms_is_support_pvr(void);
int ms_set_vip_process(void);
return false;
}
-int ms_get_remain_space(double *free_space)
+int ms_get_remain_space(uint64_t *free_space)
{
int ret = MS_MEDIA_ERR_NONE;
const char *path = "/opt";
}
/* f_bsize:unsigned long, f_bavail:fsblkcnt_t(unsigned long) */
- *free_space = (double)(s.f_bsize * s.f_bavail);
+ *free_space = (uint64_t)s.f_bsize * (uint64_t)s.f_bavail;
return MS_MEDIA_ERR_NONE;
}
dir_path[len -1] = '\0';
}
-int ms_check_size_mediadb(uid_t uid, double *db_size)
+int ms_check_size_mediadb(uid_t uid, uint64_t *db_size)
{
int ret = MS_MEDIA_ERR_NONE;
char *db_path = NULL;
ret = ms_user_get_media_db_path(uid, &db_path);
if (stat(db_path, &buf) == 0) {
- *db_size = buf.st_size;
+ *db_size = (uint64_t)buf.st_size;
} else {
MS_DBG_STRERROR("stat failed");
ret = MS_MEDIA_ERR_INTERNAL;
int msc_check_db_size(uid_t uid, ms_msg_type_e msg_type)
{
- double db_size = 0.0;
- double free_space = 0.0;
+ uint64_t db_size = 0;
+ uint64_t free_space = 0;
int err = MS_MEDIA_ERR_NONE;
ms_check_size_mediadb(uid, &db_size);
if (msg_type == MS_MSG_STORAGE_ALL || msg_type == MS_MSG_STORAGE_PARTIAL) {
if (db_size >= MEDIA_DB_SIZE_LIMIT_1) {
- MS_DBG_ERR("DB SIZE [%lf] reach the MEDIA_DB_SIZE_LIMIT_1[%lf]", db_size, MEDIA_DB_SIZE_LIMIT_1);
+ MS_DBG_ERR("DB SIZE [%" PRIu64"] reach the MEDIA_DB_SIZE_LIMIT_1[%d]", db_size, MEDIA_DB_SIZE_LIMIT_1);
return MS_MEDIA_ERR_DB_LIMIT_1;
}
} else if (msg_type == MS_MSG_DIRECTORY_SCANNING_NON_RECURSIVE || msg_type == MS_MSG_DIRECTORY_SCANNING) {
if (db_size >= MEDIA_DB_SIZE_LIMIT_2) {
- MS_DBG_ERR("DB SIZE [%lf] reach the MEDIA_DB_SIZE_LIMIT_2[%lf]", db_size, MEDIA_DB_SIZE_LIMIT_2);
+ MS_DBG_ERR("DB SIZE [%" PRIu64"] reach the MEDIA_DB_SIZE_LIMIT_2[%d]", db_size, MEDIA_DB_SIZE_LIMIT_2);
MS_DBG_WARN("START REMOVE INVALID DATA");
msc_cleanup_invalid_values(uid);
MS_DBG_ERR("ms_get_remain_space failed");
} else {
if (free_space < MEDIA_DB_SPACE_LIMIT) {
- MS_DBG_ERR("FREE SPACE [%lf] DB SIZE [%lf]", free_space, db_size);
+ MS_DBG_ERR("FREE SPACE [%" PRIu64"] DB SIZE [%" PRIu64"]", free_space, db_size);
return MS_MEDIA_ERR_NOT_ENOUGH_SPACE;
}
}
if ((strncmp(cancel_extract_item->path, start_path, strlen(cancel_extract_item->path)) == 0)
&& (cancel_extract_item->pid == -1 || cancel_extract_item->pid == pid)) {
MS_DBG_SWARN("Receive cancel request [%s][%s]. STOP scan!!", cancel_extract_item->path, start_path);
- unsigned int path_len = strlen(cancel_extract_item->path);
+ size_t path_len = strlen(cancel_extract_item->path);
if (strlen(start_path) > path_len) {
if (start_path[path_len] == '/') {
if ((strncmp(cancel_scan_item->path, start_path, strlen(cancel_scan_item->path)) == 0)
&& (cancel_scan_item->pid == -1 || cancel_scan_item->pid == pid)) {
MS_DBG_SWARN("Receive cancel request [%s][%s]. STOP scan!!", cancel_scan_item->path, start_path);
- unsigned int path_len = strlen(cancel_scan_item->path);
+ size_t path_len = strlen(cancel_scan_item->path);
if (strlen(start_path) > path_len) {
if (start_path[path_len] == '/') {
static int __msc_check_scan_same_path(char *scan_path)
{
int ret = MS_MEDIA_ERR_NONE;
- unsigned int storage_len, folder_len, min_len;
+ size_t storage_len, folder_len, min_len;
g_mutex_lock(&storage_scan_mutex2);
static int __msc_dir_and_storage_scan_same_path(char *start_path)
{
int ret = MS_MEDIA_ERR_NONE;
- unsigned int storage_len, folder_len;
+ size_t storage_len, folder_len;
char *storage_path = NULL;
char *remain_path = NULL;
- int remain_len = 0;
+ size_t remain_len = 0;
if (!MS_STRING_VALID(MEDIA_ROOT_PATH_USB)) {
MS_DBG_ERR("Fail to get USB path");
static int __msc_check_memory_status(uid_t uid)
{
int ret = MS_MEDIA_ERR_NONE;
- double db_size = 0.0;
+ uint64_t db_size = 0;
/*check remain space*/
ret = __msc_check_remain_space(uid);
/*check db size*/
ms_check_size_mediadb(uid, &db_size);
if (db_size >= MEDIA_DB_SIZE_LIMIT_1) {
- MS_DBG_ERR("DB SIZE [%lf] REACH THE FIRST LIMIT [%lf]", db_size, MEDIA_DB_SIZE_LIMIT_1);
+ MS_DBG_ERR("DB SIZE [%" PRIu64"] REACH THE FIRST LIMIT [%d]", db_size, MEDIA_DB_SIZE_LIMIT_1);
return MS_MEDIA_ERR_DB_LIMIT_1;
}
static int __msc_check_remain_space(uid_t uid)
{
int err = MS_MEDIA_ERR_NONE;
- double free_space = 0.0;
- double db_size = 0.0;
+ uint64_t free_space = 0;
+ uint64_t db_size = 0;
err = ms_get_remain_space(&free_space);
if (err != MS_MEDIA_ERR_NONE) {
MS_DBG_ERR("ms_get_remain_space failed");
} else {
if (free_space < MEDIA_DB_SPACE_LIMIT) {
- MS_DBG_ERR("NOT ENOUGH SPACE WE DO NOT UPDATE MEDIA DB FREE SPACE [%lf]", free_space);
+ MS_DBG_ERR("NOT ENOUGH SPACE WE DO NOT UPDATE MEDIA DB FREE SPACE [%" PRIu64"]", free_space);
ms_config_set_int(MS_DB_LIMIT, 0);
MS_DBG_ERR("msc_check_dbsize failed");
} else {
if (db_size >= MEDIA_DB_SIZE_LIMIT_2) {
- MS_DBG_ERR("REACH LIMIT DB SIZE [%lf]", db_size);
+ MS_DBG_ERR("REACH LIMIT DB SIZE [%" PRIu64"]", db_size);
MS_DBG_ERR("START REMOVE INVALID DATA");
msc_cleanup_invalid_values(uid);
ms_config_set_int(MS_DB_LIMIT, 0);
- MS_DBG_ERR("DB IS FULL. CANNOT UPDATE[%lf]", db_size);
+ MS_DBG_ERR("DB IS FULL. CANNOT UPDATE[%" PRIu64"]", db_size);
return MS_MEDIA_ERR_DB_FULL_FAIL;
}
}
int ms_check_mediadb(uid_t uid, bool *is_reset)
{
- double db_size = 0.0;
+ uint64_t db_size = 0;
ms_check_size_mediadb(uid, &db_size);
- MS_DBG_WARN("[DB SIZE : %lf] [LIMIT1 : %lf] [LIMIT2 : %lf]", db_size, MEDIA_DB_SIZE_LIMIT_1, MEDIA_DB_SIZE_LIMIT_2);
+ MS_DBG_WARN("[DB SIZE : %" PRIu64"] [LIMIT1 : %d] [LIMIT2 : %d]", db_size, MEDIA_DB_SIZE_LIMIT_1, MEDIA_DB_SIZE_LIMIT_2);
if (db_size > MEDIA_DB_SIZE_LIMIT_2) {
MS_DBG_ERR("THE SIZE OF MEDIA DB REACH THE LIMIT. RESET MEDIA DB.");
- MS_DBG_ERR("[DB SIZE : %lf] [LIMIT1 : %lf] [LIMIT2 : %lf]", db_size, MEDIA_DB_SIZE_LIMIT_1, MEDIA_DB_SIZE_LIMIT_2);
+ MS_DBG_ERR("[DB SIZE : %" PRIu64"] [LIMIT1 : %d] [LIMIT2 : %d]", db_size, MEDIA_DB_SIZE_LIMIT_1, MEDIA_DB_SIZE_LIMIT_2);
__ms_remake_mediadb(uid);
*is_reset = true;
}
#ifdef _USE_TVPD_MODE
uid_t uid = MEDIA_DEFAULT_UID;
- double db_size = 0.0;
- double free_space = 0.0;
+ uint64_t db_size = 0;
+ uint64_t free_space = 0;
__ms_deal_reset_status();
#endif
#ifdef _USE_TVPD_MODE
ms_check_size_mediadb(uid, &db_size);
ms_get_remain_space(&free_space);
- MS_DBG_WARN("DB SIZE[%lf] LIMIT1[%lf] LIMIT2[%lf] FREE SPACE[%lf] SPACE LIMIT[%lf]", db_size, MEDIA_DB_SIZE_LIMIT_1, MEDIA_DB_SIZE_LIMIT_2, free_space, MEDIA_DB_SPACE_LIMIT);
+ MS_DBG_WARN("DB SIZE[%" PRIu64"] LIMIT1[%d] LIMIT2[%d] FREE SPACE[%" PRIu64"] SPACE LIMIT[%d]", db_size, MEDIA_DB_SIZE_LIMIT_1, MEDIA_DB_SIZE_LIMIT_2, free_space, MEDIA_DB_SPACE_LIMIT);
if (db_size > MEDIA_DB_SIZE_LIMIT_2) {
MS_DBG_ERR("THE SIZE OF MEDIA DB REACH THE LIMIT. RESET MEDIA DB.");