Line
Link Here
|
0 |
-- recode-3.6.orig/src/libiconv.c |
0 |
++ recode-3.6/src/libiconv.c |
Lines 1-5
Link Here
|
1 |
/* Conversion of files between different charsets and surfaces. |
1 |
/* Conversion of files between different charsets and surfaces. |
2 |
Copyright © 1999, 2000 Free Software Foundation, Inc. |
2 |
Copyright © 1999, 2000, 2001 Free Software Foundation, Inc. |
3 |
Contributed by François Pinard <pinard@iro.umontreal.ca>, 1999, |
3 |
Contributed by François Pinard <pinard@iro.umontreal.ca>, 1999, |
4 |
and Bruno Haible <haible@clisp.cons.org>, 2000. |
4 |
and Bruno Haible <haible@clisp.cons.org>, 2000. |
5 |
|
5 |
|
Lines 195-206
Link Here
|
195 |
memcpy() doesn't do here, because the regions might overlap. |
195 |
memcpy() doesn't do here, because the regions might overlap. |
196 |
memmove() isn't worth it, because we rarely have to move more |
196 |
memmove() isn't worth it, because we rarely have to move more |
197 |
than 12 bytes. */ |
197 |
than 12 bytes. */ |
198 |
if (input > input_buffer && input_left > 0) |
198 |
cursor = input_buffer; |
|
|
199 |
if (input_left > 0) |
199 |
{ |
200 |
{ |
200 |
cursor = input_buffer; |
201 |
if (input > input_buffer) |
201 |
do |
202 |
{ |
202 |
*cursor++ = *input++; |
203 |
do |
203 |
while (--input_left > 0); |
204 |
*cursor++ = *input++; |
|
|
205 |
while (--input_left > 0); |
206 |
} |
207 |
else |
208 |
cursor += input_left; |
204 |
} |
209 |
} |
205 |
} |
210 |
} |
206 |
|
211 |
|
207 |
-- recode-3.6.orig/src/request.c |
212 |
++ recode-3.6/src/request.c |
Lines 1073-1079
Link Here
|
1073 |
if (task->output.cursor + 4 >= task->output.limit) |
1073 |
if (task->output.cursor + 4 >= task->output.limit) |
1074 |
{ |
1074 |
{ |
1075 |
RECODE_OUTER outer = task->request->outer; |
1075 |
RECODE_OUTER outer = task->request->outer; |
1076 |
size_t old_size = task->output.limit - task->output.buffer; |
1076 |
size_t old_size = task->output.cursor - task->output.buffer; |
1077 |
size_t new_size = task->output.cursor + 4 - task->output.buffer; |
1077 |
size_t new_size = task->output.cursor + 4 - task->output.buffer; |
1078 |
|
1078 |
|
1079 |
/* FIXME: Rethink about how the error should be reported. */ |
1079 |
/* FIXME: Rethink about how the error should be reported. */ |
1080 |
-- recode-3.6.orig/src/task.c |
1080 |
++ recode-3.6/src/task.c |
Lines 1198-1203
Link Here
|
1198 |
else |
1198 |
else |
1199 |
success = transform_mere_copy (subtask); |
1199 |
success = transform_mere_copy (subtask); |
1200 |
|
1200 |
|
|
|
1201 |
task->output = subtask->output; |
1202 |
|
1201 |
if (subtask->input.name && *subtask->input.name) |
1203 |
if (subtask->input.name && *subtask->input.name) |
1202 |
fclose (subtask->input.file); |
1204 |
fclose (subtask->input.file); |
1203 |
if (subtask->output.name && *subtask->output.name) |
1205 |
if (subtask->output.name && *subtask->output.name) |
1204 |
-- recode-3.6.orig/src/hash.h |
1206 |
++ recode-3.6/src/hash.h |
Lines 21-26
Link Here
|
21 |
/* Make sure USE_OBSTACK is defined to 1 if you want the allocator to use |
21 |
/* Make sure USE_OBSTACK is defined to 1 if you want the allocator to use |
22 |
obstacks instead of malloc, and recompile `hash.c' with same setting. */ |
22 |
obstacks instead of malloc, and recompile `hash.c' with same setting. */ |
23 |
|
23 |
|
|
|
24 |
#define hash_lookup recode_hash_lookup |
25 |
#define hash_delete recode_hash_delete |
26 |
#define hash_free recode_hash_free |
27 |
#define hash_insert recode_hash_insert |
28 |
|
24 |
#ifndef PARAMS |
29 |
#ifndef PARAMS |
25 |
# if PROTOTYPES || __STDC__ |
30 |
# if PROTOTYPES || __STDC__ |
26 |
# define PARAMS(Args) Args |
31 |
# define PARAMS(Args) Args |