summaryrefslogtreecommitdiffstats
path: root/apps/buffering.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2011-02-09 09:30:09 +0000
committerMichael Sevakis <jethead71@rockbox.org>2011-02-09 09:30:09 +0000
commit0d902c8c54bbc36f24b40c49eb9872aa75b779e4 (patch)
treef5c2ae63204ab4032b6be29dea6d5bfe02809a5d /apps/buffering.c
parent19ea72ff63744c51292cd1d2d1c2792b009892aa (diff)
downloadrockbox-0d902c8c54bbc36f24b40c49eb9872aa75b779e4.tar.gz
rockbox-0d902c8c54bbc36f24b40c49eb9872aa75b779e4.tar.bz2
rockbox-0d902c8c54bbc36f24b40c49eb9872aa75b779e4.zip
Buffering should align itself and not rely on buffering_reset parameters when storage alignment matters so that wrapped reads maintain alignment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29258 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/buffering.c')
-rw-r--r--apps/buffering.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/apps/buffering.c b/apps/buffering.c
index e37b053881..123c7bc85f 100644
--- a/apps/buffering.c
+++ b/apps/buffering.c
@@ -1572,6 +1572,11 @@ void buffering_init(void)
/* Initialise the buffering subsystem */
bool buffering_reset(char *buf, size_t buflen)
{
+ /* Wraps of storage-aligned data must also be storage aligned,
+ thus buf and buflen must be a aligned to an integer multiple of
+ the storage alignment */
+ STORAGE_ALIGN_BUFFER(buf, buflen);
+
if (!buf || !buflen)
return false;