diff --git a/src/sbbs3/js_msgbase.c b/src/sbbs3/js_msgbase.c index 04a9d3ab18165f8ff230d89dd6b934187d0ec773..65750100215df9212e9dc561d5e0c29755041a7b 100644 --- a/src/sbbs3/js_msgbase.c +++ b/src/sbbs3/js_msgbase.c @@ -2418,7 +2418,7 @@ js_vote_msg(JSContext *cx, uintN argc, jsval *arglist) if(parse_header_object(cx, p, hdr, &msg, FALSE)) { rc = JS_SUSPENDREQUEST(cx); - if((p->smb_result=votemsg(scfg, &(p->smb), &msg, NULL)) == SMB_SUCCESS) { + if((p->smb_result=votemsg(scfg, &(p->smb), &msg, NULL, NULL)) == SMB_SUCCESS) { JS_RESUMEREQUEST(cx, rc); JS_SET_RVAL(cx, arglist, JSVAL_TRUE); } diff --git a/src/sbbs3/postmsg.cpp b/src/sbbs3/postmsg.cpp index 919d88e1a2c8851317cea30e749b275b03375b87..53ad8f99e4754eb43431a8961ee122c7243b0b37 100644 --- a/src/sbbs3/postmsg.cpp +++ b/src/sbbs3/postmsg.cpp @@ -1,4 +1,5 @@ /* Synchronet user create/post public message routine */ +// vi: tabstop=4 /* $Id$ */ @@ -518,7 +519,7 @@ extern "C" int DLLCALL savemsg(scfg_t* cfg, smb_t* smb, smbmsg_t* msg, client_t* return(i); } -extern "C" int DLLCALL votemsg(scfg_t* cfg, smb_t* smb, smbmsg_t* msg, const char* smsgfmt) +extern "C" int DLLCALL votemsg(scfg_t* cfg, smb_t* smb, smbmsg_t* msg, const char* smsgfmt, const char* votefmt) { int result; smbmsg_t remsg; @@ -571,13 +572,13 @@ extern "C" int DLLCALL votemsg(scfg_t* cfg, smb_t* smb, smbmsg_t* msg, const cha safe_snprintf(from, sizeof(from), "%s (%s)", msg->from, smb_netaddr(&msg->from_net)); else SAFECOPY(from, msg->from); - if(remsg.hdr.type == SMB_MSG_TYPE_POLL) { + if(remsg.hdr.type == SMB_MSG_TYPE_POLL && votefmt != NULL) { int answers = 0; for(int i=0; i<remsg.total_hfields; i++) { if(remsg.hfield[i].type == SMB_POLL_ANSWER) { if(msg->hdr.votes&(1<<answers)) { char vote[128]; - SAFEPRINTF(vote, " %.78s\r\n", (char*)remsg.hfield_dat[i]); + SAFEPRINTF(vote, votefmt, (char*)remsg.hfield_dat[i]); SAFECAT(votes, vote); } answers++; @@ -589,8 +590,8 @@ extern "C" int DLLCALL votemsg(scfg_t* cfg, smb_t* smb, smbmsg_t* msg, const cha ,cfg->grp[cfg->sub[smb->subnum]->grp]->sname ,cfg->sub[smb->subnum]->sname ,from - ,remsg.subj - ,votes); + ,remsg.subj); + SAFECAT(smsg, votes); putsmsg(cfg, user.number, smsg); } } diff --git a/src/sbbs3/qwk.cpp b/src/sbbs3/qwk.cpp index 6081236264a76b9a3d9cfeb871996c4790461c79..9257dc2345f7c232bf8a1b69f71b9bac63c67b4a 100644 --- a/src/sbbs3/qwk.cpp +++ b/src/sbbs3/qwk.cpp @@ -1187,7 +1187,7 @@ bool sbbs_t::qwk_vote(str_list_t ini, const char* section, smb_net_type_t net_ty msg.hdr.votes = iniGetShortInt(ini, section, "votes", 0); notice = text[PollVoteNotice]; } - result = votemsg(&cfg, &smb, &msg, notice); + result = votemsg(&cfg, &smb, &msg, notice, text[VoteNoticeFmt]); if(result != SMB_SUCCESS && result != SMB_DUPE_MSG) errormsg(WHERE, ERR_WRITE, smb.file, result, smb.last_error); } diff --git a/src/sbbs3/readmsgs.cpp b/src/sbbs3/readmsgs.cpp index c876cb436752a8931e1a9c3654e322f68c9315ff..6d260b5a910240280bdbbdce6c35a85104ecf154 100644 --- a/src/sbbs3/readmsgs.cpp +++ b/src/sbbs3/readmsgs.cpp @@ -1254,7 +1254,7 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find) msg_client_hfields(&vote, &client); smb_hfield_str(&vote, SENDERSERVER, startup->host_name); - if((i=votemsg(&cfg, &smb, &vote, notice)) != SMB_SUCCESS) + if((i=votemsg(&cfg, &smb, &vote, notice, text[VoteNoticeFmt])) != SMB_SUCCESS) errormsg(WHERE,ERR_WRITE,smb.file,i,smb.last_error); break; diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index bfd0148635859208e4b7b0ce538124d47cf3c9ca..0c7c0745158c53ad46f43e9d415fac3591075ab6 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -1056,7 +1056,7 @@ extern "C" { /* postmsg.cpp */ DLLEXPORT int DLLCALL savemsg(scfg_t*, smb_t*, smbmsg_t*, client_t*, const char* server, char* msgbuf); - DLLEXPORT int DLLCALL votemsg(scfg_t*, smb_t*, smbmsg_t*, const char* msgfmt); + DLLEXPORT int DLLCALL votemsg(scfg_t*, smb_t*, smbmsg_t*, const char* msgfmt, const char* votefmt); DLLEXPORT int DLLCALL postpoll(scfg_t*, smb_t*, smbmsg_t*); DLLEXPORT int DLLCALL closepoll(scfg_t*, smb_t*, uint32_t msgnum, const char* username); DLLEXPORT void DLLCALL signal_sub_sem(scfg_t*, uint subnum); diff --git a/src/sbbs3/text.h b/src/sbbs3/text.h index 34ed059021c3fb9d679048640c37495b97ad9c7b..4e5f72f6c6e59175f8a629fb82aec685abaf4be3 100644 --- a/src/sbbs3/text.h +++ b/src/sbbs3/text.h @@ -812,6 +812,7 @@ enum { ,FileHdrDescSeparator ,RemoveFileQ ,OriginFidoAddr + ,VoteNoticeFmt ,TOTAL_TEXT }; diff --git a/src/sbbs3/text_defaults.c b/src/sbbs3/text_defaults.c index eed0701a101ded2b7d66f3c2b20a9748cf9e2102..96ddf5b98dfe8ce347e742076c827f17cf3d8346 100644 --- a/src/sbbs3/text_defaults.c +++ b/src/sbbs3/text_defaults.c @@ -1326,4 +1326,5 @@ const char * const text_defaults[TOTAL_TEXT]={ ,"\x01\x2f\x0d\x0a\x40\x45\x58\x45\x43\x3a\x53\x48\x4f\x57\x46\x49\x4c\x45\x41\x56\x41\x54\x41\x52\x40" // 799 FileHdrDescSeparator ,"\x52\x65\x6d\x6f\x76\x65\x20\x66\x69\x6c\x65" // 800 RemoveFileQ ,"\x4f\x72\x69\x67\x69\x6e\x61\x74\x69\x6e\x67\x20\x41\x64\x64\x72\x65\x73\x73" // 801 OriginFidoAddr + ,"\x01\x6e\x01\x68\xfb\x20\x01\x6d\x25\x2e\x37\x37\x73\x0d\x0a" // 802 VoteNoticeFmt };