X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fmiregex.c;h=e9d003012a03d28a9ce0a30329494fbb883a9f23;hb=refs%2Ftags%2Ftizen_2.4_mobile_release;hp=4d2e05f2e65dcb6a5141d4dcad3eeedfd5ee6066;hpb=e3d5bb584aa5549e9b245ade34757e3419ae61a7;p=framework%2Fappfw%2Faul-1.git diff --git a/src/miregex.c b/src/miregex.c index 4d2e05f..e9d0030 100755 --- a/src/miregex.c +++ b/src/miregex.c @@ -19,7 +19,7 @@ * */ - +#define _GNU_SOURCE #include "miregex.h" #include "simple_util.h" #include @@ -202,7 +202,8 @@ static void __miregex_free_regex_table() regex_tbl *miregex_get_regex_table() { DIR *dp; - struct dirent *dentry; + struct dirent dentry; + struct dirent *result = NULL; char buf[MAX_LOCAL_BUFSZ]; miregex_file_info *info; @@ -218,17 +219,17 @@ regex_tbl *miregex_get_regex_table() if (dp == NULL) return NULL; - while ((dentry = readdir(dp)) != NULL) { - if (dentry->d_name[0] == '.') + while (readdir_r(dp, &dentry, &result) == 0 && result != NULL) { + if (dentry.d_name[0] == '.') continue; snprintf(buf, sizeof(buf), "%s/%s", MIREGEX_DIR, - dentry->d_name); + dentry.d_name); info = __get_miregex_file_info(buf); if (info == NULL) continue; - if (__add_miregex(dentry->d_name, + if (__add_miregex(dentry.d_name, info->regex, info->desc) < 0) { /* TODO : invalid regular expression - will be removed*/ }