summaryrefslogtreecommitdiff
path: root/id3lib/id3lib-3.8.3-unicode16.patch
blob: b05d2cf298d3d53e7f163b7c3b90d5f34fe56c94 (plain)
    1 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  }

Generated by cgit