summaryrefslogtreecommitdiffstats
path: root/mbbsd/convert.c
diff options
context:
space:
mode:
Diffstat (limited to 'mbbsd/convert.c')
-rw-r--r--mbbsd/convert.c44
1 files changed, 24 insertions, 20 deletions
diff --git a/mbbsd/convert.c b/mbbsd/convert.c
index f07e21db..ff9fef5c 100644
--- a/mbbsd/convert.c
+++ b/mbbsd/convert.c
@@ -6,44 +6,48 @@
extern read_write_type write_type;
extern read_write_type read_type;
-unsigned char *gb2big(unsigned char *, int* , int);
-unsigned char *big2gb(unsigned char *, int* , int);
+unsigned char *gb2big(unsigned char *, int *, int);
+unsigned char *big2gb(unsigned char *, int *, int);
unsigned char *utf8_uni(unsigned char *, int *, int);
unsigned char *uni_utf8(unsigned char *, int *, int);
-unsigned char *uni2big(unsigned char *, int* , int);
-unsigned char *big2uni(unsigned char *, int* , int);
+unsigned char *uni2big(unsigned char *, int *, int);
+unsigned char *big2uni(unsigned char *, int *, int);
-static int gb_read(int fd, void *buf, size_t count)
+static ssize_t gb_read(int fd, void *buf, size_t count)
{
- count = read(fd, buf, count);
+ int icount = (int)read(fd, buf, count);
if (count > 0)
- gb2big((char *)buf, &count, 0);
- return count;
+ gb2big((char *)buf, &icount, 0);
+ return (size_t)icount;
}
-static int gb_write(int fd, void *buf, size_t count)
+static ssize_t gb_write(int fd, void *buf, size_t count)
{
- big2gb((char *)buf, &count, 0);
- return write(fd, buf, count);
+ int icount = (int)count;
+ big2gb((char *)buf, &icount, 0);
+ return write(fd, buf, (size_t)icount);
}
-static int utf8_read(int fd, void *buf, size_t count)
+static ssize_t utf8_read(int fd, void *buf, size_t count)
{
count = read(fd, buf, count);
if (count > 0) {
- utf8_uni(buf, &count, 0);
- uni2big(buf, &count, 0);
- ((char *)buf)[count] = 0;
+ int icount = (int)count;
+ utf8_uni(buf, &icount, 0);
+ uni2big(buf, &icount, 0);
+ ((char *)buf)[icount] = 0;
+ return (size_t)icount;
}
return count;
}
-static int utf8_write(int fd, void *buf, size_t count)
+static ssize_t utf8_write(int fd, void *buf, size_t count)
{
- big2uni(buf, &count, 0);
- uni_utf8(buf, &count, 0);
- ((char *)buf)[count] = 0;
- return write(fd, buf, count);
+ int icount = (int)count;
+ big2uni(buf, &icount, 0);
+ uni_utf8(buf, &icount, 0);
+ ((char *)buf)[icount] = 0;
+ return write(fd, buf, (size_t)icount);
}
void set_converting_type(int which)