* gnu/packages/patches/id3lib-UTF16-writing-bug.patch: New file. * gnu/packages/mp3.scm (id3lib)[source](patches): Add it. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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;
 | |
|  }
 |