diff -ruN ./Makefile.in ../MOO-1.8.0r6/Makefile.in --- ./Makefile.in Thu Feb 19 16:36:16 1998 +++ ../MOO-1.8.0r6/Makefile.in Sun Jul 4 07:04:07 1999 @@ -30,7 +30,8 @@ log.c malloc.c match.c md5.c name_lookup.c network.c net_mplex.c \ net_proto.c numbers.c objects.c parse_cmd.c pattern.c program.c \ property.c quota.c ref_count.c regexpr.c server.c storage.c streams.c str_intern.c \ - sym_table.c tasks.c timers.c unparse.c utils.c verbs.c version.c + sym_table.c tasks.c timers.c unparse.c utils.c verbs.c version.c \ + kanjilib.c OPT_NET_SRCS = net_single.c net_multi.c \ net_mp_selct.c net_mp_poll.c net_mp_fake.c \ @@ -49,7 +50,7 @@ options.h parse_cmd.h parser.h pattern.h program.h quota.h random.h \ ref_count.h regexpr.h server.h storage.h streams.h structures.h str_intern.h \ sym_table.h tasks.h timers.h tokens.h unparse.h utils.h verbs.h \ - version.h + version.h kanjilib.h SYSHDRS = my-ctype.h my-fcntl.h my-in.h my-inet.h my-ioctl.h my-math.h \ my-poll.h my-signal.h my-socket.h my-stat.h my-stdarg.h my-stdio.h \ diff -ruN ./net_multi.c ../MOO-1.8.0r6/net_multi.c --- ./net_multi.c Mon Dec 14 22:18:31 1998 +++ ../MOO-1.8.0r6/net_multi.c Sun Jul 4 07:03:45 1999 @@ -272,7 +272,7 @@ for (ptr = buffer, end = buffer + count; ptr < end; ptr++) { unsigned char c = *ptr; - if (isgraph(c) || c == ' ' || c == '\t') + if (isgraph(c) || c == ' ' || c == '\t' || c == '\033' || ((c >= 0x80) && (c <= 0xff))) stream_add_char(s, c); else if (c == '\r' || (c == '\n' && !h->last_input_was_CR)) server_receive_line(h->shandle, reset_stream(s)); diff -ruN ./server.c ../MOO-1.8.0r6/server.c --- ./server.c Tue Dec 29 15:56:32 1998 +++ ../MOO-1.8.0r6/server.c Sun Jul 4 07:01:51 1999 @@ -47,6 +47,7 @@ #include "version.h" #include "execute.h" +#include "kanjilib.h" static pid_t parent_pid; int in_child = 0; @@ -993,10 +994,13 @@ void server_receive_line(server_handle sh, const char *line) { - shandle *h = (shandle *) sh.ptr; - + shandle *h = (shandle *) sh.ptr; + char *buf = (char *) mymalloc(strlen(line) + 1, M_STRING); + + to_jis(buf, line, EUC_CODE); h->last_activity_time = time(0); - new_input_task(h->tasks, line); + new_input_task(h->tasks, buf); + myfree((void *)buf, M_STRING); } void