summaryrefslogtreecommitdiffstats
path: root/mbbsd/io.c
diff options
context:
space:
mode:
authorvictor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2003-11-28 13:47:34 +0800
committervictor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2003-11-28 13:47:34 +0800
commit94ee5b0f546ecdb6558a4d24028c728997c175e2 (patch)
treebf6bf1e783fe3c41fadef406ff2168ea86f43002 /mbbsd/io.c
parent30edc2d47868e24f54a9505f7eb66c0a42c64b4d (diff)
downloadpttbbs-94ee5b0f546ecdb6558a4d24028c728997c175e2.tar
pttbbs-94ee5b0f546ecdb6558a4d24028c728997c175e2.tar.gz
pttbbs-94ee5b0f546ecdb6558a4d24028c728997c175e2.tar.bz2
pttbbs-94ee5b0f546ecdb6558a4d24028c728997c175e2.tar.lz
pttbbs-94ee5b0f546ecdb6558a4d24028c728997c175e2.tar.xz
pttbbs-94ee5b0f546ecdb6558a4d24028c728997c175e2.tar.zst
pttbbs-94ee5b0f546ecdb6558a4d24028c728997c175e2.zip
1.#ifdef GQ_CONVERT
2.add info to FAQ git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@1380 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/io.c')
-rw-r--r--mbbsd/io.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/mbbsd/io.c b/mbbsd/io.c
index 273017b8..f31d5f30 100644
--- a/mbbsd/io.c
+++ b/mbbsd/io.c
@@ -17,6 +17,8 @@ static int icurrchar = 0;
/* ----------------------------------------------------- */
/* convert routines */
/* ----------------------------------------------------- */
+#ifdef GB_CONVERT
+
typedef int (* read_write_type)(int, void *, size_t);
static read_write_type write_type = (read_write_type)write;
static read_write_type read_type = read;
@@ -54,6 +56,7 @@ inline static int read_wrapper(int fd, void *buf, size_t count) {
inline static int write_wrapper(int fd, void *buf, size_t count) {
return (*write_type)(fd, buf, count);
}
+#endif
/* ----------------------------------------------------- */
/* output routines */
@@ -62,7 +65,11 @@ void
oflush()
{
if (obufsize) {
+#ifdef GB_CONVERT
write_wrapper(1, outbuf, obufsize);
+#else
+ write(1, outbuf, obufsize);
+#endif
obufsize = 0;
}
}
@@ -80,7 +87,11 @@ output(char *s, int len)
assert(len<OBUFSIZE);
if (obufsize + len > OBUFSIZE) {
+#ifdef GB_CONVERT
write_wrapper(1, outbuf, obufsize);
+#else
+ write(1, outbuf, obufsize);
+#endif
obufsize = 0;
}
memcpy(outbuf + obufsize, s, len);
@@ -175,7 +186,12 @@ dogetch()
#ifdef SKIP_TELNET_CONTROL_SIGNAL
do{
#endif
+
+#ifdef GB_CONVERT
while ((len = read_wrapper(0, inbuf, IBUFSIZE)) <= 0) {
+#else
+ while ((len = read(0, inbuf, IBUFSIZE)) <= 0) {
+#endif
if (len == 0 || errno != EINTR)
abort_bbs(0);
/* raise(SIGHUP); */