inlining format_str() and avoiding a string copy by printing directly
into the name buffer.
Also uses quite a bit less stack space.
En passant, made basename printing more robust by not limiting the
buffer into which the file pathname is fetched by the max size of the
resulting basename string. Also, fixed a potential buffer overrun in
format_str.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30248 a1c6a512-1295-4272-9138-f99709370657
Check free space before reading new data from disk, and do not forget
to account for the RAM-cache header.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30246 a1c6a512-1295-4272-9138-f99709370657
* Rename stuff to not re-use the term dircache
* Move cache to own struct
* Encapsulate retrieving entries a bit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30242 a1c6a512-1295-4272-9138-f99709370657
files with names differing only in capitalization. Thanks to Slasheri
for the fix.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30241 a1c6a512-1295-4272-9138-f99709370657
in formats and conditions. The basename is the non-directory part of
a file's pathname.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30230 a1c6a512-1295-4272-9138-f99709370657
truncation in tagnavi %formats using the standard
"%{width}.{truncation}s" format syntax.
String truncation is especially useful when using part of a string
tag, filename, or basename for sorting and %strip'ing. (Basename
support is forthcoming in a subsequent commit.)
Also renovated the format_str() code a bit (improved structuring,
removed code duplication) and increased the maximum length of a printf
conversion specification to 20 characters.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30229 a1c6a512-1295-4272-9138-f99709370657
The previous maximum (20) still causes excessive heat for some people, and measurements (using a digital camera and a white screen) show that the maximum brightness in the OF corresponds to 12 in rockbox, so we use 12 now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30227 a1c6a512-1295-4272-9138-f99709370657
This is done to make reboot more transparent. If a playlist has ended, there should be no difference between the player doing nothing for ten minutes and the player shutting down after the idle timeout and being restarted.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30226 a1c6a512-1295-4272-9138-f99709370657
The first is an off-by-one that leads to miscalculation of the dircache size.
The format string size was used but dircache size was incremented by the snprintf() result which is smaller.
The other forgot to update the location of the "." and ".." strings upon compaction,
so that new folders got assigned orphaned pointers for those directory entires.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30224 a1c6a512-1295-4272-9138-f99709370657
check the manual...
%Tl(..., &action) -> %Tl(..., action, repeat_press)
%Tl(..., *action) -> %Tl(..., action, long_press)
%Tl(..., !action) -> %Tl(..., action, reverse_bar)
and a new allow_while_lock to make the region fire when softlocked
these options must all be after the action name, but otherwise the order doesnt matter. And for the setting_inc/dec/set action the setting name must follow the action name, *then* the options
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30219 a1c6a512-1295-4272-9138-f99709370657
Modify the %Tl() tag to add a new region 'lock' which will lock/unlock the wps/sbs from touches (hardware buttons still work)
You can also specify a region to work when locked by prepending ^ to the action name (this is probably about to change though)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30218 a1c6a512-1295-4272-9138-f99709370657
Enlarge the default size of the dialog to something more reasonable for the
extended information displayed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30215 a1c6a512-1295-4272-9138-f99709370657
Allow passing an (optional) cluster size to round up all file sizes when
calculating the total size of an extracted zip archive. This allows to check if
the space on disk is actually sufficient without relying on an arbitrary
headroom value which might be wrong. Addresses FS#12195.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30214 a1c6a512-1295-4272-9138-f99709370657