[Easytag-mailing] Re: EasyTAG 1.99.12 - patch_id3lib_3.8.3_UTF16_writing_bug.diff



Hi,

In the last version of EasyTAG, I suggest users who want write tags to Unicode to apply a patch to id3lib. The related patch fixes a bug which occurs with some characters (german, french, japanese,...). The patch should be included in the EasyTAG package source, in the directory src/id3lib/, but the auto-build script missed it... :-(

So it was attached to this mail, or available to the URL : http://prdownloads.sourceforge.net/easytag/patch_id3lib_3.8.3_UTF16_writing_bug.diff?download

Regards,
Jerome



COUDERC jerome wrote, the 12/04/2006 17:00 :
-----Message d'origine-----
De : easytag-mailing-admin lists sourceforge net [mailto:easytag-mailing-admin lists sourceforge net] Hi,

    As the previous version was containing some bugs, it was a little too early to release the 2.0 version. So a new development version is available on replacement.

The sources are available from the habitual page http://easytag.sourceforge.net


What is new (since 1.99.11) ?
============================

     * New logo and icons (thanks to Der Humph),
     * Added ability to display all albums of an artist in the
       'Artist / Album' view,
     * Added detection of the bugged version of id3lib when writting ID3
       tag to Unicode to inform the user (a patch for id3lib is supplied
       in package source),
     * For Ogg files, the field DESCRIPTION is also used for the comment,
     * Fixed stack corruption bugs in Fill Tag scanner (thanks to Mark
       Ferry),
     * Fixed loading disk number for FLAC tag (thanks to Robert Norris),
     * Fixed error that displays MP3 files in red when no tag is present,
     * Fixed a crash in the CDDB window when getting tracks of a album,
     * Fixed playlist name bug when creating it in the parent directory,
     * Fixed manual CDDB search when using Squid (thanks to Christopher
       Oliver),
     * Little fix for FLAC tags,
     * Fixed various bugs,
     * Russian translation updated (thanks to Andrey Astafiev),
     * Greek translation updated (thanks to Apollon Oikonomopoulos),
     * Spanish translation updated (thanks to Francisco Javier F.
       Serrador),
     * Japanese translation updated (thanks to Takeshi Aihana),
     * Czech translation updated (thanks to Zbynek Mrkvicka),
     * Brazilian Portuguese translation updated (thanks to doutor.zero)
     * Danish translation updated (thanks to Morten Brix Pedersen),
     * Italian translation updated (thanks to Kostantino),
     * Hungarian translation updated (thanks to Mészáros Csaba),
     * German translation updated (thanks to Götz Waschk).

     Windows version : (thanks to Michael Pujos)
     * Fixed starting the program with a directory as parameter,
     * Fixed problem in Fill Tag scanner with the first code,
     * Available menu entry to "Open file(s) with...",
     * We recommend to remove your .easytag directory to reinitialize it:
       as there are many changes when storing filenames or directories in
       configuration files



Regards,
Jerome


--
EasyTAG - Tag editor for MP3 and Ogg Vorbis files http://easytag.sourceforge.net
--
Jerome COUDERC <easytag gmail com>


--
EasyTAG - Tag editor for MP3 and Ogg Vorbis files
http://easytag.sourceforge.net
--
Jerome COUDERC <easytag gmail com>

diff -ruN id3lib-3.8.3.orig/ChangeLog id3lib-3.8.3/ChangeLog
--- id3lib-3.8.3.orig/ChangeLog	2003-03-02 01:23:00.000000000 +0100
+++ id3lib-3.8.3/ChangeLog	2006-02-22 00:33:59.946214472 +0100
@@ -1,3 +1,8 @@
+2006-02-17  Jerome Couderc
+
+    * Patch from Spoon to fix UTF-16 writing bug
+      http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979
+
 2003-03-02 Sunday 17:38   Thijmen Klok <thijmen id3lib org>
 
 	* THANKS (1.20): added more people 
diff -ruN id3lib-3.8.3.orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp
--- id3lib-3.8.3.orig/src/io_helpers.cpp	2003-03-02 01:23:00.000000000 +0100
+++ id3lib-3.8.3/src/io_helpers.cpp	2006-02-22 00:35:02.926639992 +0100
@@ -363,11 +363,22 @@
     // Write the BOM: 0xFEFF
     unicode_t BOM = 0xFEFF;
     writer.writeChars((const unsigned char*) &BOM, 2);
+    // Patch from Spoon : 2004-08-25 14:17
+    //   http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979
+    // Wrong code
+    //for (size_t i = 0; i < size; i += 2)
+    //{
+    //  unicode_t ch = (data[i] << 8) | data[i+1];
+    //  writer.writeChars((const unsigned char*) &ch, 2);
+    //}
+    // Right code
+    unsigned char *pdata = (unsigned char *) data.c_str();
     for (size_t i = 0; i < size; i += 2)
     {
-      unicode_t ch = (data[i] << 8) | data[i+1];
+      unicode_t ch = (pdata[i] << 8) | pdata[i+1];
       writer.writeChars((const unsigned char*) &ch, 2);
     }
+    // End patch
   }
   return writer.getCur() - beg;
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]