[vlc-commits] commit: ncurses: factorize ReadDir() ( Rafaël Carré )
git at videolan.org
git at videolan.org
Tue Oct 26 14:03:37 CEST 2010
vlc | branch: master | Rafaël Carré <rafael.carre at gmail.com> | Mon Oct 25 21:43:30 2010 +0200| [3cc4799c1245eeab9e2fa2cfa94699d10cd7b0e1] | committer: Rafaël Carré
ncurses: factorize ReadDir()
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=3cc4799c1245eeab9e2fa2cfa94699d10cd7b0e1
---
modules/gui/ncurses.c | 54 +++++++++++++++++-------------------------------
1 files changed, 19 insertions(+), 35 deletions(-)
diff --git a/modules/gui/ncurses.c b/modules/gui/ncurses.c
index e5d2ba5..0760d81 100644
--- a/modules/gui/ncurses.c
+++ b/modules/gui/ncurses.c
@@ -252,52 +252,36 @@ static void ReadDir(intf_thread_t *p_intf)
struct stat stat_data;
#endif
struct dir_entry_t *p_dir_entry;
- char *psz_uri;
+ char *psz_uri = NULL;
- if (p_sys->b_show_hidden_files == false &&
- (strlen(psz_entry) && psz_entry[0] == '.') &&
- strcmp(psz_entry, ".."))
- {
- free(psz_entry);
- continue;
- }
+ if (!p_sys->b_show_hidden_files)
+ if (*psz_entry == '.' && strcmp(psz_entry, ".."))
+ goto next;
- if (asprintf(&psz_uri, "%s/%s", p_sys->psz_current_dir,
- psz_entry) == -1)
+ if (asprintf(&psz_uri, "%s/%s", p_sys->psz_current_dir, psz_entry) == -1)
{
- free(psz_entry);
- continue;
+ psz_uri = NULL;
+ goto next;
}
- if (!(p_dir_entry = malloc(sizeof(struct dir_entry_t))))
- {
- free(psz_uri);
- free(psz_entry);
- continue;
- }
+ if (!(p_dir_entry = malloc(sizeof *p_dir_entry)))
+ goto next;
+ p_dir_entry->b_file =
#if defined(S_ISDIR)
- if (!vlc_stat(psz_uri, &stat_data)
- && S_ISDIR(stat_data.st_mode))
+ vlc_stat(psz_uri, &stat_data) || !S_ISDIR(stat_data.st_mode)
/*#elif defined(DT_DIR)
- if (p_dir_content->d_type & DT_DIR)*/
+ !(p_dir_content->d_type & DT_DIR)*/
#else
- if (0)
+ false
#endif
- {
- p_dir_entry->psz_path = strdup(psz_entry);
- p_dir_entry->b_file = false;
- INSERT_ELEM(p_sys->pp_dir_entries, p_sys->i_dir_entries,
- p_sys->i_dir_entries, p_dir_entry);
- }
- else
- {
- p_dir_entry->psz_path = strdup(psz_entry);
- p_dir_entry->b_file = true;
- INSERT_ELEM(p_sys->pp_dir_entries, p_sys->i_dir_entries,
- p_sys->i_dir_entries, p_dir_entry);
- }
+ ;
+
+ p_dir_entry->psz_path = strdup(psz_entry);
+ INSERT_ELEM(p_sys->pp_dir_entries, p_sys->i_dir_entries,
+ p_sys->i_dir_entries, p_dir_entry);
+next:
free(psz_uri);
free(psz_entry);
}
More information about the vlc-commits
mailing list