summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2008-04-19 23:48:13 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2008-04-19 23:48:13 +0000
commit984278b10ac4fd3d124a8110c0d61b01c16bf0b1 (patch)
tree5f7add2cf2e28d7fd8ead7c0bb8f9f6627721779
parent5633784f4f84a082a14c25222fbcf12e03e3b474 (diff)
downloadrockbox-984278b10ac4fd3d124a8110c0d61b01c16bf0b1.zip
rockbox-984278b10ac4fd3d124a8110c0d61b01c16bf0b1.tar.gz
rockbox-984278b10ac4fd3d124a8110c0d61b01c16bf0b1.tar.bz2
rockbox-984278b10ac4fd3d124a8110c0d61b01c16bf0b1.tar.xz
FS#8795 - Fixed fault of the escape processing in Changelog (by Kenjiro Arai).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17178 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/tagcache.c14
-rw-r--r--docs/CREDITS1
2 files changed, 6 insertions, 9 deletions
diff --git a/apps/tagcache.c b/apps/tagcache.c
index f800c56..5ba955f 100644
--- a/apps/tagcache.c
+++ b/apps/tagcache.c
@@ -3157,17 +3157,13 @@ static bool write_tag(int fd, const char *tagstr, const char *datastr)
int i;
snprintf(buf, sizeof buf, "%s=\"", tagstr);
- for (i = strlen(buf); i < (long)sizeof(buf)-3; i++)
+ for (i = strlen(buf); i < (long)sizeof(buf)-4; i++)
{
if (*datastr == '\0')
break;
- if (*datastr == '"')
- {
- buf[i] = '\\';
- datastr++;
- continue;
- }
+ if (*datastr == '"' || *datastr == '\\')
+ buf[i++] = '\\';
buf[i] = *(datastr++);
}
@@ -3222,9 +3218,9 @@ static bool read_tag(char *dest, long size,
if (*src == '\0')
break;
- if (*src == '\\' && *(src+1) == '"')
+ if (*src == '\\')
{
- dest[pos] = '"';
+ dest[pos] = *(src+1);
src += 2;
continue;
}
diff --git a/docs/CREDITS b/docs/CREDITS
index 279abc0..6118857 100644
--- a/docs/CREDITS
+++ b/docs/CREDITS
@@ -386,6 +386,7 @@ Christopher Williams
Martin Ritter
Justin Hannigan
Tomasz Wasilczyk
+Kenjiro Arai
The libmad team