• Status Closed
  • Percent Complete
  • Task Type Bugs
  • Category User Interface → Simulator
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.9
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by freddyb - 2011-11-29
Last edited by dreamlayers - 2011-11-29

FS#12414 - readdir() broken for plugins in UI simulator

Plugins that call rb→readdir() crash. (since r28929) (edit: r28929 not 29929)

Closed by  dreamlayers
2011-11-29 05:04
Reason for closing:  Fixed
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Fixed in r31089

When HAVE_DIRCACHE is defined, the plugin expects:
struct dirent_cached {

  struct dirinfo info;
  char *d_name;
  long startcluster;

but, sim_readdir instead gives it this:
struct sim_dirent {

  unsigned char d_name[MAX_PATH];
  struct dirinfo info;
  long startcluster;

It works in core, because there, readdir is readdir_cached. The problem is the PREFIX( ) where directory functions are put into struct plugin_api rockbox_api. That’s taken care of elsewhere now. This patch removes the PREFIX( ) and the unnecessary app_closedir and app_readdir wrappers.

Sounds good to me.


Available keyboard shortcuts


Task Details

Task Editing