• Status Closed
  • Percent Complete
  • Task Type Bugs
  • Category Settings
  • Assigned To
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.6
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by jdgordon - 2010-08-29
Last edited by jdgordon - 2010-12-07

FS#11575 - RaaA should not be storing the real full path in config.cfg

from my config.cfg
” playlist catalog directory: /usr/local/share/rockbox/Playlis
” /usr/local/share/rockbox should be added at runtime, and stored speratly or the actual path is cut off

Closed by  jdgordon
2010-12-07 00:29
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


nls commented on 2010-08-29 06:55

is there any reason why we limit this path to 32 chars except to save some memory?

nope, but then there is another more serious problem which wasnt obvious when I filed this… the Playlists directory should be in the user writable area so it should be ~/.config/ by default.

I think it actually is, it’s supposed to be anyways.

“/usr/local/share/rockbox/xxx” is translated into $HOME/.config/ (if it exists) at even though it says /usr/local/share.

The path doesn’t mean much anyway. Only the the basename of the file (without path and extensions) is actually stored in RAM. From there on it looks in $HOME/.config/, then /usr/local/share/rockbox for the files/folders.

not entirely working version. needs to be fixed so the cabbie theme uses the correct path prefix. I’m not sure the autoconf.h change is correct also.

What does that patch? I thought the bug this task is about was fixed.

config.cfg storing real paths which it shouldnt. it should actually store them in the same way regular targets do (i.e wps: /.rockbox/wps/cabbiev2.wps) so you could take a .cfg from your dap and use it on raaa. right now its using /<Rb>/ but the prefix is irrelevant. the important thing is it shouldnt be storing /usr/local/….

As I said in my previous post, it doesn’t actually use the path from the .cfg. It actually ignores the path (and extension) and only looks at the basefile name in the usual search path order.

that isnt 100% true as I found out. that full path is currently used if the get_user_file_dir() isnt called correctly (like forgetting IS_FILE). and anyway that is more reason to not put the full path in the config.

cleaner version which make ROCKBOX_DIR point back to the same as normal builds, ROCKBOX_SHARE_PATH is the old ROCKBOX_DIR. doing it this way means no scripts need to be fixed to work, and configs can be shared without any problem.

I find it a bit annoying that you really need 2 MAX_PATH buffers in the caller to make it work though.

This is more of a proof of concept than committable patch… remove all get_user_file_path() calls in apps/ and transparently change the filename in open() and opendir() to get the right path. sdl app only just now

This changes the android path to /data/data/org.rockbox/.rockbox amd transparently changes file paths called with open() and diropen().
tested with android and sdl.

make reconf doesnt work though and that needs to be fixed before commiting

this version fixes make reconf. please test

Sync and extended to wrap all IO functions that take a path.

Works very well, I think I’m going to commit in a day or two.


Available keyboard shortcuts


Task Details

Task Editing