From a7f363fdd4e5365b438a5c420de15ae0c11c6e68 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Wed, 29 Aug 2018 04:19:02 +0000 Subject: [PATCH] Include the vote(s) in the message (telegram) sent to the pollster upon a posted vote msg - the format of the vote(s) is currently hard-coded and not colorized/pretty. This'll require an update to the PollVoteNotice text.dat line. --- src/sbbs3/postmsg.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/sbbs3/postmsg.cpp b/src/sbbs3/postmsg.cpp index 71dd64a818..919d88e1a2 100644 --- a/src/sbbs3/postmsg.cpp +++ b/src/sbbs3/postmsg.cpp @@ -565,17 +565,32 @@ extern "C" int DLLCALL votemsg(scfg_t* cfg, smb_t* smb, smbmsg_t* msg, const cha (stricmp(remsg.from, user.alias) == 0 || stricmp(remsg.from, user.name) == 0)) { char from[256]; char tstr[128]; - char smsg[256]; + char smsg[4000]; + char votes[3000] = ""; if(msg->from_net.type) 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) { + 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]); + SAFECAT(votes, vote); + } + answers++; + } + } + } safe_snprintf(smsg, sizeof(smsg), smsgfmt ,timestr(cfg, msg->hdr.when_written.time, tstr) ,cfg->grp[cfg->sub[smb->subnum]->grp]->sname ,cfg->sub[smb->subnum]->sname ,from - ,remsg.subj); + ,remsg.subj + ,votes); putsmsg(cfg, user.number, smsg); } } -- GitLab