int media_db_get_media_db_path(uid_t uid, char **db_path)
{
- int len = 0;
- struct group *grpinfo = NULL;
-
+ int ret = MS_MEDIA_ERR_NONE;
*db_path = NULL;
- if (uid == getuid()) {
- grpinfo = getgrnam("users");
- if (grpinfo == NULL) {
- MSAPI_DBG_ERR("getgrnam(users) returns NULL !");
- return MS_MEDIA_ERR_DB_INTERNAL;
- }
- if (MS_STRING_VALID(MEDIA_DB_NAME))
- *db_path = strdup(MEDIA_DB_NAME);
- } else {
- char passwd_str[MAX_FILEPATH_LEN] = {0, };
- struct passwd *userinfo = getpwuid(uid);
- if (userinfo == NULL) {
- MSAPI_DBG_ERR("getpwuid(%d) returns NULL !", uid);
- return MS_MEDIA_ERR_DB_INTERNAL;
- }
- grpinfo = getgrnam("users");
- if (grpinfo == NULL) {
- MSAPI_DBG_ERR("getgrnam(users) returns NULL !");
- return MS_MEDIA_ERR_DB_INTERNAL;
- }
- // Compare git_t type and not group name
- if (grpinfo->gr_gid != userinfo->pw_gid) {
- MSAPI_DBG_ERR("UID [%d] does not belong to 'users' group!", uid);
- return MS_MEDIA_ERR_DB_INTERNAL;
- }
- len = snprintf(passwd_str, sizeof(passwd_str), "%s/.applications/dbspace/.media.db", userinfo->pw_dir);
- if (len > 0)
- *db_path = strndup(passwd_str, len);
+ *db_path = __media_get_media_DB(uid);
+ if (*db_path == NULL) {
+ MSAPI_DBG_ERR("__media_get_media_DB failed", uid);
+ ret = MS_MEDIA_ERR_INTERNAL;
}
- return MS_MEDIA_ERR_NONE;
+// MSAPI_DBG("DB PATH[%s]", *db_path);
+
+ return ret;
}