diff options
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/rspamc.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/client/rspamc.c b/src/client/rspamc.c index 5b5253628..bcc302f95 100644 --- a/src/client/rspamc.c +++ b/src/client/rspamc.c @@ -1680,26 +1680,17 @@ rspamc_process_dir (struct event_base *ev_base, struct rspamc_command *cmd, const gchar *name, GQueue *attrs) { DIR *d; - struct dirent *entry, *pentry; + struct dirent *pentry; gint cur_req = 0; gchar fpath[PATH_MAX]; FILE *in; struct stat st; gboolean is_reg, is_dir; - gsize len; d = opendir (name); if (d != NULL) { - /* Portably allocate struct direntry */ - len = rspamd_dirent_size (d); - g_assert (len != (gsize)-1); - entry = g_malloc0 (len); - - while (readdir_r (d, entry, &pentry) == 0 && pentry != NULL) { - if (pentry == NULL) { - break; - } + while ((pentry = readdir (d))!= NULL) { if (pentry->d_name[0] == '.') { continue; @@ -1765,8 +1756,6 @@ rspamc_process_dir (struct event_base *ev_base, struct rspamc_command *cmd, } } } - - g_free (entry); } else { fprintf (stderr, "cannot open directory %s: %s\n", name, strerror (errno)); |