WIP Windows fix
This commit is contained in:
parent
5e3b8b3b12
commit
5d268b1f36
7 changed files with 64 additions and 21 deletions
|
|
@ -209,12 +209,13 @@ void output_knj(FILE* fp, u_char* p, int l) {
|
|||
}
|
||||
|
||||
#ifdef UTF8
|
||||
to[TO(to, euc, strlen(euc))] = 0;
|
||||
if(fp == stdout || fp == stderr) {
|
||||
to[TO(to, euc, strlen(euc))] = 0;
|
||||
|
||||
fputs(to, fp);
|
||||
#else
|
||||
fputs(euc, fp);
|
||||
fputs(to, fp);
|
||||
} else
|
||||
#endif
|
||||
fputs(euc, fp);
|
||||
}
|
||||
|
||||
void output_str(FILE* fp, char* p) {
|
||||
|
|
@ -302,15 +303,18 @@ void output_yomi(FILE* fp, u_char* p) {
|
|||
i = yomi2zen(*p++);
|
||||
|
||||
#ifdef UTF8
|
||||
euc[0] = (i >> 8) & 0xff;
|
||||
euc[1] = i & 0xff;
|
||||
if(fp == stdout || fp == stderr) {
|
||||
euc[0] = (i >> 8) & 0xff;
|
||||
euc[1] = i & 0xff;
|
||||
|
||||
to[TO(to, euc, 2)] = 0;
|
||||
to[TO(to, euc, 2)] = 0;
|
||||
|
||||
fputs(to, fp);
|
||||
#else
|
||||
fputc((i >> 8) & 0xff, fp);
|
||||
fputc(i & 0xff, fp);
|
||||
fputs(to, fp);
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
fputc((i >> 8) & 0xff, fp);
|
||||
fputc(i & 0xff, fp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -110,8 +110,6 @@ readchar() {
|
|||
}
|
||||
|
||||
if((cod = unicode_to_eucjp(n)) == -1) {
|
||||
code = n;
|
||||
|
||||
return '[';
|
||||
}
|
||||
|
||||
|
|
@ -156,6 +154,8 @@ skip_blank() {
|
|||
return c;
|
||||
}
|
||||
|
||||
#include "sj_charset.h"
|
||||
|
||||
static int
|
||||
readhinsi() {
|
||||
static int c = 0;
|
||||
|
|
@ -175,8 +175,6 @@ retry:
|
|||
}
|
||||
|
||||
for(i = 0; !Isblank(c);) {
|
||||
int j = 0, k;
|
||||
|
||||
if(c == '\n' || c == ':')
|
||||
break;
|
||||
if(Isillegal(c))
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
#else
|
||||
#define CHARSET SJ4UTF8
|
||||
#endif
|
||||
#define CHARSET SJ4UTF8
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
char c[8 * 1024];
|
||||
|
|
@ -39,7 +40,11 @@ int main(int argc, char** argv) {
|
|||
while((strlen(c) - i) > 0 && (n = sj4_getkan(ctx, c + i, strlen(c + i), &kouho)) != 0) {
|
||||
printf(">");
|
||||
do {
|
||||
#ifdef _WIN32
|
||||
printf(" %s", kouho.buffer.sjis);
|
||||
#else
|
||||
printf(" %s", kouho.buffer.utf8);
|
||||
#endif
|
||||
} while(sj4_nextkan(ctx) != 0);
|
||||
printf("\n");
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue