diff options
Diffstat (limited to 'libudffs/unicode.c')
-rw-r--r-- | libudffs/unicode.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/libudffs/unicode.c b/libudffs/unicode.c index 6723466..d817e0e 100644 --- a/libudffs/unicode.c +++ b/libudffs/unicode.c @@ -25,12 +25,13 @@ * libudffs unicode handling functions */ -#include "libudffs.h" #include "config.h" -int decode_utf8(char *in, char *out, int inlen) +#include "libudffs.h" + +size_t decode_utf8(dstring *in, char *out, size_t inlen) { - int len = 0, i; + size_t len = 0, i; unsigned int c; if (in[inlen-1] == 0) @@ -64,10 +65,11 @@ int decode_utf8(char *in, char *out, int inlen) return len; } -int encode_utf8(char *out, char *hdr, char *in, int outlen) +size_t encode_utf8(dstring *out, char *hdr, char *in, size_t outlen) { - int inlen = strlen(in); - int utf_cnt, len = 1, i; + size_t inlen = strlen(in); + size_t len = 1, i; + int utf_cnt; uint32_t utf_char, max_val; unsigned int c; @@ -173,7 +175,7 @@ error_out: return len; } -int decode_string(struct udf_disc *disc, char *in, char *out, int inlen) +size_t decode_string(struct udf_disc *disc, dstring *in, char *out, size_t inlen) { if (disc->flags & FLAG_UTF8) return decode_utf8(in, out, inlen); @@ -186,9 +188,9 @@ int decode_string(struct udf_disc *disc, char *in, char *out, int inlen) return 0; } -int encode_string(struct udf_disc *disc, char *out, char *hdr, char *in, int outlen) +size_t encode_string(struct udf_disc *disc, dstring *out, char *hdr, char *in, size_t outlen) { - int i; + size_t i; memset(out, 0x00, outlen); if (disc->flags & FLAG_UTF8) |