Fix build error for upgrading toolchain 50/104750/3 accepted/tizen/common/20161219.151901 accepted/tizen/common/20170111.155032 accepted/tizen/ivi/20161219.021816 accepted/tizen/mobile/20161219.021805 accepted/tizen/tv/20161219.021810 accepted/tizen/wearable/20161219.021813 submit/tizen/20161216.095153 submit/tizen/20161216.102827 submit/tizen_common/20170111.150147
authorInkyun Kil <inkyun.kil@samsung.com>
Wed, 14 Dec 2016 07:52:32 +0000 (16:52 +0900)
committerInkyun Kil <inkyun.kil@samsung.com>
Fri, 16 Dec 2016 08:17:26 +0000 (17:17 +0900)
'readdir_r' is deprecated since version 2.24 glibc.
By upgrading TOOLCHAIN for platform, it should be replaced by 'readdir'.

Different semantics for inline functions
While -std=gnu89 employs the GNU89 inline semantics, -std=gnu11 uses the
C99 inline semantics.
For further informaion, please refer to
'https://gcc.gnu.org/gcc-5/porting_to.html'

Remove unused function.

Change-Id: I0891770a16d91ee1fec75e3f2c1a48cc4c5fe6e3
Signed-off-by: Inkyun Kil <inkyun.kil@samsung.com>
include/app_preference_internal.h
preference/preference.c

index 8cafdcb..478efb7 100644 (file)
@@ -139,9 +139,8 @@ int _preference_get_key_path(keynode_t *keynode, char *path);
 int _preference_get_key(keynode_t *keynode);
 
 int _preference_keynode_set_keyname(keynode_t *keynode, const char *keyname);
-inline void _preference_keynode_set_null(keynode_t *keynode);
-inline keynode_t *_preference_keynode_new(void);
-inline void _preference_keynode_free(keynode_t *keynode);
+__attribute__ ((gnu_inline)) inline keynode_t *_preference_keynode_new(void);
+__attribute__ ((gnu_inline)) inline void _preference_keynode_free(keynode_t *keynode);
 
 
 #ifdef __cplusplus
index 4e26dca..558faf4 100755 (executable)
@@ -139,7 +139,7 @@ static inline void _preference_keynode_set_value_string(keynode_t *keynode, cons
        keynode->value.s = strdup(value);
 }
 
-inline keynode_t *_preference_keynode_new(void)
+__attribute__ ((gnu_inline)) inline keynode_t *_preference_keynode_new(void)
 {
        keynode_t *keynode;
        keynode = calloc(1, sizeof(keynode_t));
@@ -147,7 +147,7 @@ inline keynode_t *_preference_keynode_new(void)
        return keynode;
 }
 
-inline void _preference_keynode_free(keynode_t *keynode)
+__attribute__ ((gnu_inline)) inline void _preference_keynode_free(keynode_t *keynode)
 {
        if (keynode) {
                if (keynode->keyname)
@@ -1307,8 +1307,7 @@ API int preference_remove_all(void)
        int err_retry = PREFERENCE_ERROR_RETRY_CNT;
        int func_ret = PREFERENCE_ERROR_NONE;
        DIR *dir;
-       struct dirent dent;
-       struct dirent *result = NULL;
+       struct dirent *dent = NULL;
        char *pref_dir_path = NULL;
        char err_buf[ERR_LEN] = {0,};
        const char *entry;
@@ -1337,8 +1336,8 @@ API int preference_remove_all(void)
                return PREFERENCE_ERROR_OUT_OF_MEMORY;
        }
 
-       while (readdir_r(dir, &dent, &result) == 0 && result != NULL) {
-               entry = dent.d_name;
+       while ((dent = readdir(dir)) != NULL) {
+               entry = dent->d_name;
                if (entry[0] == '.')
                        continue;
 
@@ -1521,8 +1520,7 @@ API int preference_foreach_item(preference_item_cb callback, void *user_data)
 {
        int ret = 0;
        DIR *dir;
-       struct dirent dent;
-       struct dirent *result = NULL;
+       struct dirent *dent = NULL;
        char *pref_dir_path = NULL;
        char err_buf[ERR_LEN] = {0,};
        const char *entry;
@@ -1546,8 +1544,8 @@ API int preference_foreach_item(preference_item_cb callback, void *user_data)
                return PREFERENCE_ERROR_IO_ERROR;
        }
 
-       while (readdir_r(dir, &dent, &result) == 0 && result != NULL) {
-               entry = dent.d_name;
+       while ((dent = readdir(dir)) != NULL) {
+               entry = dent->d_name;
                if (entry[0] == '.')
                        continue;