Add error handling in preference api 33/114533/1
authorJiwoong Im <jiwoong.im@samsung.com>
Tue, 14 Feb 2017 01:59:21 +0000 (10:59 +0900)
committerJiwoong Im <jiwoong.im@samsung.com>
Tue, 14 Feb 2017 01:59:21 +0000 (10:59 +0900)
- Add errno check in using opendir for proper return.

Change-Id: I066ae1786067ababac0e396ebf88496360040f50
Signed-off-by: Jiwoong Im <jiwoong.im@samsung.com>
preference/preference.c

index 558faf4..6e78b4e 100755 (executable)
@@ -1324,6 +1324,8 @@ API int preference_remove_all(void)
 
        dir = opendir(pref_dir_path);
        if (dir == NULL) {
+               if (errno == ENOENT)
+                       return PREFERENCE_ERROR_NONE;
                strerror_r(errno, err_buf, sizeof(err_buf));
                LOGE("opendir() failed. pref_path: %s, error: %d(%s)", pref_dir_path, errno, err_buf);
                return PREFERENCE_ERROR_IO_ERROR;
@@ -1539,6 +1541,8 @@ API int preference_foreach_item(preference_item_cb callback, void *user_data)
 
        dir = opendir(pref_dir_path);
        if (dir == NULL) {
+               if (errno == ENOENT)
+                       return PREFERENCE_ERROR_NONE;
                strerror_r(errno, err_buf, sizeof(err_buf));
                LOGE("opendir() failed. path: %s, error: %d(%s)", pref_dir_path, errno, err_buf);
                return PREFERENCE_ERROR_IO_ERROR;