OSDN Git Service

refine cbuffer
authorSHIRAKATA Kentaro <argrath@ub32.org>
Tue, 4 Jan 2022 22:01:05 +0000 (07:01 +0900)
committerSHIRAKATA Kentaro <argrath@ub32.org>
Sat, 22 Oct 2022 17:29:16 +0000 (02:29 +0900)
include/extern.h
japanese/jlib.c

index d60c07b..b38a183 100644 (file)
@@ -3029,7 +3029,7 @@ E const char *FDECL(str2ic, (const char *));
 E const char *FDECL(ic2str, (const char *));
 #endif
 E int FDECL(jbuffer, (unsigned int, unsigned int *, void (*)(unsigned int), void (*)(unsigned char *)));
-E int FDECL(cbuffer, (unsigned int, unsigned int *, void (*)(unsigned int), void (*)(unsigned char *)));
+E int FDECL(cbuffer, (unsigned int));
 E void FDECL(cputchar,(int));
 E void FDECL(jputchar,(int));
 E void FDECL(jputs,(const char *));
index 93f97cb..afbf16e 100644 (file)
@@ -448,29 +448,21 @@ jbuffer(
  *  \8a¿\8e\9a\83R\81[\83h\95Ï\8a·\82Í\8ds\82í\82È\82¢
  */
 int
-cbuffer(
-     unsigned int c,
-     unsigned int *buf,
-     void (*f1)(unsigned int),
-     void (*f2)(unsigned char *))
+cbuffer(unsigned int c)
 {
     static unsigned int ibuf[2];
     unsigned char f2buf[16];
+    unsigned int *buf = ibuf;
+    void (*f1)(unsigned int) = tty_cputc;
+    void (*f2)(unsigned char *) = tty_cputc2;
 
-    if(!buf) buf = ibuf;
-    if(!f1) f1 = tty_cputc;
-    if(!f2) f2 = tty_cputc2;
-
-#ifdef POSIX_ICONV
     if (output_kcode == UTF8) {
         if (c) {
             f1(c);
             return 1;
         }
     }
-    else
-#endif
-    if(!(buf[0]) && is_kanji(c)){
+    else if(!(buf[0]) && is_kanji(c)){
         buf[1] = c;
         ++buf[0];
         return 0;
@@ -498,7 +490,7 @@ jputchar(int c)
 void
 cputchar(int c)
 {
-    cbuffer((unsigned int)(c & 0xff), NULL, NULL, NULL);
+    cbuffer((unsigned int)(c & 0xff));
 }
 
 void