Fix error of mediadb-update when last arg path character is '/'. 83/54383/4 accepted/tizen/mobile/20151215.082721 accepted/tizen/tv/20151215.082807 accepted/tizen/wearable/20151215.082839 submit/tizen/20151215.054628
authorMinje Ahn <minje.ahn@samsung.com>
Tue, 15 Dec 2015 05:35:09 +0000 (14:35 +0900)
committerhj kim <backto.kim@samsung.com>
Tue, 15 Dec 2015 05:44:13 +0000 (21:44 -0800)
Change-Id: I860cb81e969e769ead2cb00b9e40ea4f433af6c5
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
src/mediadb-update.c

index 73df1ec..92ed785 100755 (executable)
@@ -192,8 +192,10 @@ check_result check_path(char *path)
 int main(int argc, char **argv)
 {
        int ret;
+       int len;
        char *argv1 = NULL;
        char *argv2 = NULL;
+       char req_path[1024] = {0, };
 
        if (argc > 3 || argc < 2) {
                print_help();
@@ -216,7 +218,14 @@ int main(int argc, char **argv)
                }
 
                if (check_path(argv1) == DIRECTORY_OK) {
-                       ret = dir_scan_non_recursive(argv1);
+                       len = strlen(argv1);
+
+                       if (argv1[len - 1] == '/')
+                               strncpy(req_path, argv1, len - 1);
+                       else
+                               strncpy(req_path, argv1, len);
+
+                       ret = dir_scan_non_recursive(req_path);
                        if (ret != 0) {
                                printf("error : %d\n", ret);
                                exit(1);
@@ -230,7 +239,14 @@ int main(int argc, char **argv)
                argv2 = strdup(argv[2]);
                if (strcmp(argv1, "-r") == 0) {
                        if (check_path(argv2) == DIRECTORY_OK) {
-                               ret = dir_scan_recursive(argv2);
+                               len = strlen(argv2);
+
+                               if (argv2[len - 1] == '/')
+                                       strncpy(req_path, argv2, len - 1);
+                               else
+                                       strncpy(req_path, argv2, len);
+
+                               ret = dir_scan_recursive(req_path);
                                if (ret != 0) {
                                        printf("error : %d\n", ret);
                                        exit(1);