--- sjis.c.orig Tue Dec 8 22:10:38 1998 +++ sjis.c Mon Aug 21 18:51:42 2000 @@ -4450,18 +4450,20 @@ break; \ } \ \ - *outptr++ = cp[0]; \ /* Now test for a possible second byte and write this if possible. */ \ if (cp[1] != '\0') \ { \ - if (NEED_LENGTH_TEST && outptr >= outend) \ + if (NEED_LENGTH_TEST && outptr + 1 >= outend) \ { \ /* The result does not fit into the buffer. */ \ result = GCONV_FULL_OUTPUT; \ break; \ } \ + *outptr++ = cp[0]; \ *outptr++ = cp[1]; \ } \ + else \ + *outptr++ = cp[0]; \ \ inptr += 4; \ }