Annotation of /trunk/id3lib/patches/id3lib-3.8.3-unicode16.patch
Parent Directory | Revision Log
Revision 144 -
(hide annotations)
(download)
Tue May 8 20:06:05 2007 UTC (17 years, 4 months ago) by niro
File size: 1542 byte(s)
Tue May 8 20:06:05 2007 UTC (17 years, 4 months ago) by niro
File size: 1542 byte(s)
-import
1 | niro | 144 | diff -ruN id3lib-3.8.3.orig/ChangeLog id3lib-3.8.3/ChangeLog |
2 | --- id3lib-3.8.3.orig/ChangeLog 2003-03-02 01:23:00.000000000 +0100 | ||
3 | +++ id3lib-3.8.3/ChangeLog 2006-02-22 00:33:59.946214472 +0100 | ||
4 | @@ -1,3 +1,8 @@ | ||
5 | +2006-02-17 Jerome Couderc | ||
6 | + | ||
7 | + * Patch from Spoon to fix UTF-16 writing bug | ||
8 | + http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979 | ||
9 | + | ||
10 | 2003-03-02 Sunday 17:38 Thijmen Klok <thijmen@id3lib.org> | ||
11 | |||
12 | * THANKS (1.20): added more people | ||
13 | diff -ruN id3lib-3.8.3.orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp | ||
14 | --- id3lib-3.8.3.orig/src/io_helpers.cpp 2003-03-02 01:23:00.000000000 +0100 | ||
15 | +++ id3lib-3.8.3/src/io_helpers.cpp 2006-02-22 00:35:02.926639992 +0100 | ||
16 | @@ -363,11 +363,22 @@ | ||
17 | // Write the BOM: 0xFEFF | ||
18 | unicode_t BOM = 0xFEFF; | ||
19 | writer.writeChars((const unsigned char*) &BOM, 2); | ||
20 | + // Patch from Spoon : 2004-08-25 14:17 | ||
21 | + // http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979 | ||
22 | + // Wrong code | ||
23 | + //for (size_t i = 0; i < size; i += 2) | ||
24 | + //{ | ||
25 | + // unicode_t ch = (data[i] << 8) | data[i+1]; | ||
26 | + // writer.writeChars((const unsigned char*) &ch, 2); | ||
27 | + //} | ||
28 | + // Right code | ||
29 | + unsigned char *pdata = (unsigned char *) data.c_str(); | ||
30 | for (size_t i = 0; i < size; i += 2) | ||
31 | { | ||
32 | - unicode_t ch = (data[i] << 8) | data[i+1]; | ||
33 | + unicode_t ch = (pdata[i] << 8) | pdata[i+1]; | ||
34 | writer.writeChars((const unsigned char*) &ch, 2); | ||
35 | } | ||
36 | + // End patch | ||
37 | } | ||
38 | return writer.getCur() - beg; | ||
39 | } |