merge m17n patch
add libwc
This commit is contained in:
28
news.c
28
news.c
@@ -1,4 +1,4 @@
|
||||
/* $Id: news.c,v 1.15 2003/01/29 17:10:49 ukai Exp $ */
|
||||
/* $Id: news.c,v 1.16 2003/09/22 21:02:20 ukai Exp $ */
|
||||
#include "fm.h"
|
||||
#include "myctype.h"
|
||||
#include <stdio.h>
|
||||
@@ -111,7 +111,7 @@ static char *
|
||||
name_from_address(char *str, int n)
|
||||
{
|
||||
char *s, *p;
|
||||
int i, l, space = TRUE;
|
||||
int l, space = TRUE;
|
||||
|
||||
s = allocStr(str, -1);
|
||||
SKIP_BLANKS(s);
|
||||
@@ -135,8 +135,7 @@ name_from_address(char *str, int n)
|
||||
*p = '\0';
|
||||
s++;
|
||||
}
|
||||
for (p = s, l = 0; *p; p += i) {
|
||||
i = get_mclen(get_mctype(p));
|
||||
for (p = s, l = 0; *p; p += get_mclen(p)) {
|
||||
if (IS_SPACE(*p)) {
|
||||
if (space)
|
||||
continue;
|
||||
@@ -144,7 +143,7 @@ name_from_address(char *str, int n)
|
||||
}
|
||||
else
|
||||
space = FALSE;
|
||||
l += i;
|
||||
l += get_mcwidth(p);
|
||||
if (l > n)
|
||||
break;
|
||||
}
|
||||
@@ -304,7 +303,7 @@ openNewsStream(ParsedURL *pu)
|
||||
}
|
||||
|
||||
Str
|
||||
loadNewsgroup(ParsedURL *pu, char *code)
|
||||
loadNewsgroup(ParsedURL *pu, wc_ces * charset)
|
||||
{
|
||||
volatile Str page;
|
||||
Str tmp;
|
||||
@@ -315,12 +314,13 @@ loadNewsgroup(ParsedURL *pu, char *code)
|
||||
int status, i, first, last;
|
||||
volatile int flag = 0, start = 0, end = 0;
|
||||
MySignalHandler(*volatile prevtrap) (SIGNAL_ARG) = NULL;
|
||||
#ifdef USE_M17N
|
||||
wc_ces doc_charset = DocumentCharset, mime_charset;
|
||||
|
||||
*charset = WC_CES_US_ASCII;
|
||||
#endif
|
||||
if (current_news.host == NULL || !pu->file || *pu->file == '\0')
|
||||
return NULL;
|
||||
#ifdef JP_CHARSET
|
||||
*code = DocumentCode;
|
||||
#endif
|
||||
group = allocStr(pu->file, -1);
|
||||
if (pu->scheme == SCM_NNTP_GROUP)
|
||||
scheme = "/";
|
||||
@@ -411,8 +411,14 @@ loadNewsgroup(ParsedURL *pu, char *code)
|
||||
if (!(q = strchr(p, '>')) && !(q = strchr(p, '\t')))
|
||||
continue;
|
||||
*q = '\0';
|
||||
s = convertLine(&f, decodeMIME(s), code, HEADER_MODE)->ptr;
|
||||
n = convertLine(&f, decodeMIME(n), code, HEADER_MODE)->ptr;
|
||||
tmp = decodeMIME(Strnew_charp(s), &mime_charset);
|
||||
s = convertLine(&f, tmp, HEADER_MODE,
|
||||
mime_charset ? &mime_charset : charset,
|
||||
mime_charset ? mime_charset : doc_charset)->ptr;
|
||||
tmp = decodeMIME(Strnew_charp(n), &mime_charset);
|
||||
n = convertLine(&f, tmp, HEADER_MODE,
|
||||
mime_charset ? &mime_charset : charset,
|
||||
mime_charset ? mime_charset : doc_charset)->ptr;
|
||||
add_news_message(page, i, t, n, s, p, scheme,
|
||||
pu->scheme == SCM_NNTP_GROUP ? qgroup : NULL);
|
||||
}
|
||||
|
Reference in New Issue
Block a user