summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2009-06-24 13:30:54 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2009-06-24 13:30:54 +0800
commit69559f9dbff06f841ff168f50b3f3171fe7c9d7b (patch)
tree951f32115bc262372823a8b57630e611ea7ab86e
parent87d13a0cc0492f60eb0536180d21d8583c921075 (diff)
downloadpttbbs-69559f9dbff06f841ff168f50b3f3171fe7c9d7b.tar
pttbbs-69559f9dbff06f841ff168f50b3f3171fe7c9d7b.tar.gz
pttbbs-69559f9dbff06f841ff168f50b3f3171fe7c9d7b.tar.bz2
pttbbs-69559f9dbff06f841ff168f50b3f3171fe7c9d7b.tar.lz
pttbbs-69559f9dbff06f841ff168f50b3f3171fe7c9d7b.tar.xz
pttbbs-69559f9dbff06f841ff168f50b3f3171fe7c9d7b.tar.zst
pttbbs-69559f9dbff06f841ff168f50b3f3171fe7c9d7b.zip
* fix: internet mail subject input box was too long
* refine and check zip home command git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4698 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--mbbsd/mail.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/mbbsd/mail.c b/mbbsd/mail.c
index a47778a4..41f9135e 100644
--- a/mbbsd/mail.c
+++ b/mbbsd/mail.c
@@ -247,8 +247,9 @@ invalidaddr(const char *addr)
int
m_internet(void)
{
- char receiver[60];
- char title[STRLEN];
+ // if using STRLEN, the getdata would be too long on 80x24 screen.
+ char receiver[TTLEN];
+ char title[TTLEN];
getdata(20, 0, "¦¬«H¤H¡G", receiver, sizeof(receiver), DOECHO);
trim(receiver);
@@ -2124,6 +2125,8 @@ doforward(const char *direct, const fileheader_t * fh, int mode)
if (mode == 'Z') {
assert(is_validuserid(cuser.userid));
+ assert(!invalidaddr(address));
+#ifdef MUTT_PATH
snprintf(fname, sizeof(fname),
TAR_PATH " cfz /tmp/home.%s.tgz home/%c/%s; "
MUTT_PATH " -s 'home.%s.tgz' -a /tmp/home.%s.tgz -- '%s' </dev/null;"
@@ -2132,11 +2135,13 @@ doforward(const char *direct, const fileheader_t * fh, int mode)
cuser.userid, cuser.userid, address, cuser.userid);
system(fname);
return 0;
+#else
snprintf(fname, sizeof(fname), TAR_PATH " cfz - home/%c/%s | "
"/usr/bin/uuencode %s.tgz > %s",
cuser.userid[0], cuser.userid, cuser.userid, direct);
system(fname);
strlcpy(fname, direct, sizeof(fname));
+#endif
} else if (mode == 'U') {
char tmp_buf[128];