summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--innbbsd/Makefile3
-rw-r--r--innbbsd/bbslink.c1
-rw-r--r--innbbsd/innbbsd.c5
-rw-r--r--innbbsd/inntobbs.c2
-rw-r--r--innbbsd/receive_article.c2
5 files changed, 9 insertions, 4 deletions
diff --git a/innbbsd/Makefile b/innbbsd/Makefile
index 92214f93..56c91213 100644
--- a/innbbsd/Makefile
+++ b/innbbsd/Makefile
@@ -55,7 +55,8 @@ DBZOBJS = dbzserver.o dbzinnbbsd.o pmain.o connectsock.o bbslib.o his.o \
daemon.o file.o dbz.o dbztool.o rfc931.o port.o closeonexec.o \
morelog.o
NNRPOBJS = bbsnnrp.o pmain.o bbslib.o connectsock.o file.o
-LINKOBJS = bbslink.o pmain.o inntobbs.o echobbslib.o connectsock.o file.o port.o
+LINKOBJS = bbslink.o pmain.o inntobbs.o echobbslib.o connectsock.o file.o port.o\
+ str_decode.o
LINKOBJS2 = bbslink2.o pmain.o inntobbs.o echobbslib.o connectsock.o file.o port.o
CTLOBJS = ctlinnbbsd.o pmain.o bbslib.o connectsock.o file.o
INNBBSD = innbbsd mkhistory bbsnnrp ctlinnbbsd $(BBSLINK)
diff --git a/innbbsd/bbslink.c b/innbbsd/bbslink.c
index 1c0b1565..d0a4bb21 100644
--- a/innbbsd/bbslink.c
+++ b/innbbsd/bbslink.c
@@ -1487,6 +1487,7 @@ try_read_outgoing:
soverview.group = group;
soverview.mtime = atol(mtime);
soverview.from = from;
+ strcpy(subject, str_decode_M3(subject));
soverview.subject = subject;
soverview.outgoingtype = outgoingtype;
soverview.msgid = msgid;
diff --git a/innbbsd/innbbsd.c b/innbbsd/innbbsd.c
index f35c1cfb..f89d95ab 100644
--- a/innbbsd/innbbsd.c
+++ b/innbbsd/innbbsd.c
@@ -678,6 +678,11 @@ ClientType *client;
HEADER[MID_H] && HEADER[NEWSGROUPS_H] ) {
char *path1, *path2;
int rel ;
+ strcpy(HEADER[SUBJECT_H], str_decode_M3(HEADER[SUBJECT_H]));
+ strcpy(HEADER[FROM_H], str_decode_M3(HEADER[FROM_H]));
+ strcpy(HEADER[DATE_H], str_decode_M3(HEADER[DATE_H]));
+ strcpy(HEADER[MID_H], str_decode_M3(HEADER[MID_H]));
+ strcpy(HEADER[NEWSGROUPS_H], str_decode_M3(HEADER[NEWSGROUPS_H]));
rel = 0;
path1 = (char*)mymalloc(strlen(HEADER[PATH_H]) + 3);
path2 = (char*)mymalloc(strlen(MYBBSID) + 3);
diff --git a/innbbsd/inntobbs.c b/innbbsd/inntobbs.c
index 653ea488..b10c44e5 100644
--- a/innbbsd/inntobbs.c
+++ b/innbbsd/inntobbs.c
@@ -205,7 +205,7 @@ echomaillog()
if( echomailfp != NULL ) {
fprintf(echomailfp,"\n");
fprintf(echomailfp,"發信人: %s, 信區: %s\n", FROM, GROUPS);
- fprintf(echomailfp,"標 題: %s\n", SUBJECT);
+ fprintf(echomailfp,"標 題: %s\n", str_decode_M3(SUBJECT));
fprintf(echomailfp,"發信站: %s (%s)\n", SITE, DATE);
fprintf(echomailfp,"轉信站: %s (%s)\n", PATH, REMOTEHOSTNAME);
fflush(echomailfp);
diff --git a/innbbsd/receive_article.c b/innbbsd/receive_article.c
index 6b1e59c7..29790a96 100644
--- a/innbbsd/receive_article.c
+++ b/innbbsd/receive_article.c
@@ -545,7 +545,6 @@ receive_control()
*firstpath = '\0';
if (isdir(boardhome))
{
- strcpy(SUBJECT, str_decode_M3(SUBJECT));
fname = (char *) post_article(boardhome, FROM, "control", bbspost_write_control, NULL, firstpath);
if (fname != NULL)
{
@@ -680,7 +679,6 @@ cancel_article_front(msgid)
*body = '\n';
}
if (*subject){
- strcpy(subject, str_decode_M3(subject));
SUBJECT = subject;
}
fname = (char *) post_article(boardhome, FROM, "deleted", bbspost_write_cancel, filename, firstpath);