dlugolecki.net.pl
Dziennik
Polecane
Software
projects
/
gedcom-parse.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
fdfc069
)
Made some functions static + some extra defense.
author
Peter Verthez
<Peter.Verthez@advalvas.be>
Sat, 28 Dec 2002 13:16:56 +0000
(13:16 +0000)
committer
Peter Verthez
<Peter.Verthez@advalvas.be>
Sat, 28 Dec 2002 13:16:56 +0000
(13:16 +0000)
utf8/utf8-convert.c
patch
|
blob
|
history
diff --git
a/utf8/utf8-convert.c
b/utf8/utf8-convert.c
index 9dbfaf50e8b15d1ca03613e458faa07ca0913f01..d573ad79b6f252f0e69915ca70b77a2143172faf 100644
(file)
--- a/
utf8/utf8-convert.c
+++ b/
utf8/utf8-convert.c
@@
-48,7
+48,7
@@
struct convert {
char* unknown;
};
char* unknown;
};
-void reset_conv_buffer(conv_buffer_t buf)
+
static
void reset_conv_buffer(conv_buffer_t buf)
{
memset(buf->buffer, 0, buf->size);
}
{
memset(buf->buffer, 0, buf->size);
}
@@
-81,7
+81,7
@@
void free_conv_buffer(conv_buffer_t buf)
}
}
}
}
-char* grow_conv_buffer(conv_buffer_t buf, char* curr_pos)
+
static
char* grow_conv_buffer(conv_buffer_t buf, char* curr_pos)
{
size_t outlen, new_size;
char* new_buffer;
{
size_t outlen, new_size;
char* new_buffer;
@@
-201,17
+201,18
@@
void cleanup_utf8_conversion(convert_t conv)
char* convert_from_utf8(convert_t conv, const char* input, int* conv_fails,
size_t* output_len)
{
char* convert_from_utf8(convert_t conv, const char* input, int* conv_fails,
size_t* output_len)
{
- size_t insize
= strlen(input)
;
+ size_t insize;
size_t outsize;
ICONV_CONST char* inptr = (ICONV_CONST char*) input;
char *outptr;
size_t nconv;
struct conv_buffer* outbuf;
size_t outsize;
ICONV_CONST char* inptr = (ICONV_CONST char*) input;
char *outptr;
size_t nconv;
struct conv_buffer* outbuf;
- if (!conv || !conv->outbuf) {
+ if (!conv || !conv->outbuf
|| !input
) {
if (conv_fails != NULL) *conv_fails = insize;
return NULL;
}
if (conv_fails != NULL) *conv_fails = insize;
return NULL;
}
+ insize = strlen(input);
/* make sure we start from an empty state */
iconv(conv->from_utf8, NULL, NULL, NULL, NULL);
if (conv_fails != NULL) *conv_fails = 0;
/* make sure we start from an empty state */
iconv(conv->from_utf8, NULL, NULL, NULL, NULL);
if (conv_fails != NULL) *conv_fails = 0;
@@
-270,7
+271,7
@@
char* convert_to_utf8(convert_t conv, const char* input, size_t input_len)
size_t nconv;
struct conv_buffer* outbuf;
size_t nconv;
struct conv_buffer* outbuf;
- if (!conv || !conv->outbuf)
+ if (!conv || !conv->outbuf
|| !input
)
return NULL;
/* make sure we start from an empty state */
iconv(conv->to_utf8, NULL, NULL, NULL, NULL);
return NULL;
/* make sure we start from an empty state */
iconv(conv->to_utf8, NULL, NULL, NULL, NULL);
@@
-317,6
+318,13
@@
char* convert_to_utf8_incremental(convert_t conv,
if (!conv || !conv->outbuf)
return NULL;
if (!conv || !conv->outbuf)
return NULL;
+ if (!input) {
+ iconv(conv->to_utf8, NULL, NULL, NULL, NULL);
+ reset_conv_buffer(inbuf);
+ conv->insize = 0;
+ return NULL;
+ }
+
/* set up input buffer (concatenate to what was left previous time) */
/* can't use strcpy, because possible null bytes from unicode */
while (conv->insize + input_len > inbuf->size)
/* set up input buffer (concatenate to what was left previous time) */
/* can't use strcpy, because possible null bytes from unicode */
while (conv->insize + input_len > inbuf->size)