[-]
[+]
|
Added |
recode.spec
|
|
[-]
[+]
|
Added |
recode-3.6-getcwd.patch
^
|
@@ -0,0 +1,11 @@
+--- recode-3.6/lib/gettext.c.orig 2005-03-07 12:18:30.000000000 +0100
++++ recode-3.6/lib/gettext.c 2005-03-07 12:23:14.000000000 +0100
+@@ -1668,8 +1668,6 @@
+ # if !defined HAVE_GETCWD
+ char *getwd ();
+ # define getcwd(buf, max) getwd (buf)
+-# else
+-char *getcwd ();
+ # endif
+ # ifndef HAVE_STPCPY
+ static char *stpcpy PARAMS ((char *dest, const char *src));
|
[-]
[+]
|
Added |
recode.patch
^
|
@@ -0,0 +1,68 @@
+--- 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 <pinard@iro.umontreal.ca>, 1999,
+ and Bruno Haible <haible@clisp.cons.org>, 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
|
|
Added |
recode-3.6.tar.gz
^
|