Magellan Linux

Annotation of /trunk/id3lib/patches/id3lib-3.8.3-unicode16.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 144 - (hide annotations) (download)
Tue May 8 20:06:05 2007 UTC (17 years, 1 month 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     }