summaryrefslogtreecommitdiff
path: root/src/media-thumbnail.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/media-thumbnail.c')
-rwxr-xr-xsrc/media-thumbnail.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/media-thumbnail.c b/src/media-thumbnail.c
index 2b986de..46b1f21 100755
--- a/src/media-thumbnail.c
+++ b/src/media-thumbnail.c
@@ -370,21 +370,25 @@ static int __check_path_validity(const char *path)
static int __check_thumb_path_validity(const char *path)
{
char *dir_name = NULL;
+ int ret = MS_MEDIA_ERR_NONE;
thumb_retvm_if(!path, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid path");
dir_name = g_path_get_dirname(path);
- if (dir_name) {
- if (access(dir_name, W_OK) != 0) {
+
+ if (access(dir_name, W_OK) != 0) {
+ if (errno == EACCES || errno == EPERM) {
thumb_err("No permission to write[%s]", dir_name);
- SAFE_FREE(dir_name);
- return MS_MEDIA_ERR_PERMISSION_DENIED;
+ ret = MS_MEDIA_ERR_PERMISSION_DENIED;
+ } else {
+ thumb_err("Does not exists[%s]", dir_name);
+ ret = MS_MEDIA_ERR_INVALID_PARAMETER;
}
-
- SAFE_FREE(dir_name);
}
- return MS_MEDIA_ERR_NONE;
+ SAFE_FREE(dir_name);
+
+ return ret;
}
static int __check_parameter_validity_for_file(const char *path, unsigned int width, unsigned int height, const char *thumb_path)