You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							90 lines
						
					
					
						
							3.1 KiB
						
					
					
				
			
		
		
	
	
							90 lines
						
					
					
						
							3.1 KiB
						
					
					
				| # --- SDE-COPYRIGHT-NOTE-BEGIN --- | |
| # This copyright note is auto-generated by ./scripts/Create-CopyPatch. | |
| # | |
| # Filename: package/.../recode/recode-3.6.patch | |
| # Copyright (C) 2004 - 2006 The T2 SDE Project | |
| # | |
| # More information can be found in the files COPYING and README. | |
| # | |
| # This patch file is dual-licensed. It is available under the license the | |
| # patched project is licensed under, as long as it is an OpenSource license | |
| # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms | |
| # of the GNU General Public License as published by the Free Software | |
| # Foundation; either version 2 of the License, or (at your option) any later | |
| # version. | |
| # --- SDE-COPYRIGHT-NOTE-END --- | |
| http://pybliographer.org/help/recode states: | |
|  | |
| Pybliographer uses GNU Recode in order to convert between different character | |
| sets, especially LaTeX and HTML. The latest version of GNU Recode (3.6) | |
| contains a bug that makes it unsuitable for Pybliographer (but not for | |
| standalone use). This bug is pending since a long time. | |
|  | |
| --- recode-3.6.orig/src/libiconv.c | |
| +++ recode-3.6/src/libiconv.c | |
| @@ -1,5 +1,5 @@ | |
|  /* Conversion of files between different charsets and surfaces. | |
| -   Copyright © 1999, 2000 Free Software Foundation, Inc. | |
| +   Copyright © 1999, 2000, 2001 Free Software Foundation, Inc. | |
|     Contributed by François Pinard <[email protected]>, 1999, | |
|     and Bruno Haible <[email protected]>, 2000. | |
|   | |
| @@ -195,12 +195,17 @@ | |
|  	 memcpy() doesn't do here, because the regions might overlap. | |
|  	 memmove() isn't worth it, because we rarely have to move more | |
|  	 than 12 bytes.  */ | |
| -      if (input > input_buffer && input_left > 0) | |
| +      cursor = input_buffer; | |
| +      if (input_left > 0) | |
|  	{ | |
| -	  cursor = input_buffer; | |
| -	  do | |
| -	    *cursor++ = *input++; | |
| -	  while (--input_left > 0); | |
| +	  if (input > input_buffer) | |
| +	    { | |
| +	      do | |
| +		*cursor++ = *input++; | |
| +	      while (--input_left > 0); | |
| +	    } | |
| +	  else | |
| +	    cursor += input_left; | |
|  	} | |
|      } | |
|   | |
| --- recode-3.6.orig/src/request.c | |
| +++ recode-3.6/src/request.c | |
| @@ -1073,7 +1073,7 @@ | |
|    if (task->output.cursor + 4 >= task->output.limit) | |
|      { | |
|        RECODE_OUTER outer = task->request->outer; | |
| -      size_t old_size = task->output.limit - task->output.buffer; | |
| +      size_t old_size = task->output.cursor - task->output.buffer; | |
|        size_t new_size = task->output.cursor + 4 - task->output.buffer; | |
|   | |
|        /* FIXME: Rethink about how the error should be reported.  */ | |
| --- recode-3.6.orig/src/task.c | |
| +++ recode-3.6/src/task.c | |
| @@ -1198,6 +1198,8 @@ | |
|        else | |
|  	success = transform_mere_copy (subtask); | |
|   | |
| +      task->output = subtask->output; | |
| +        | |
|        if (subtask->input.name && *subtask->input.name) | |
|  	fclose (subtask->input.file); | |
|        if (subtask->output.name && *subtask->output.name) | |
| --- recode-3.6.orig/src/hash.h | |
| +++ recode-3.6/src/hash.h | |
| @@ -21,6 +21,11 @@ | |
|  /* Make sure USE_OBSTACK is defined to 1 if you want the allocator to use | |
|     obstacks instead of malloc, and recompile `hash.c' with same setting.  */ | |
|   | |
| +#define hash_lookup recode_hash_lookup | |
| +#define hash_delete recode_hash_delete | |
| +#define hash_free   recode_hash_free | |
| +#define hash_insert recode_hash_insert | |
| + | |
|  #ifndef PARAMS | |
|  # if PROTOTYPES || __STDC__ | |
|  #  define PARAMS(Args) Args
 | |
| 
 |