Skip to content
Snippets Groups Projects
Commit 873908db authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Create smb_msg_is_ascii()

This function returns true if the message *header* explicitly claims that the
message contains only US-ASCII chars.
parent 79bdcece
No related branches found
No related tags found
No related merge requests found
...@@ -1801,6 +1801,20 @@ bool smb_msg_is_utf8(const smbmsg_t* msg) ...@@ -1801,6 +1801,20 @@ bool smb_msg_is_utf8(const smbmsg_t* msg)
return msg->text_charset != NULL && stricmp(msg->text_charset, "utf-8") == 0; return msg->text_charset != NULL && stricmp(msg->text_charset, "utf-8") == 0;
} }
bool smb_msg_is_ascii(const smbmsg_t* msg)
{
for (int i = 0; i < msg->total_hfields; i++) {
switch (msg->hfield[i].type) {
case FIDOCTRL:
if (strncmp(msg->hfield_dat[i], "CHRS: ASCII", 11) == 0)
return true;
}
}
if (msg->ftn_charset != NULL && strncmp(msg->ftn_charset, "ASCII", 5) == 0)
return true;
return msg->text_charset != NULL && stricmp(msg->text_charset, "us-ascii") == 0;
}
uint16_t smb_voted_already(smb_t* smb, uint32_t msgnum, const char* name, enum smb_net_type net_type, void* net_addr) uint16_t smb_voted_already(smb_t* smb, uint32_t msgnum, const char* name, enum smb_net_type net_type, void* net_addr)
{ {
uint16_t votes = 0; uint16_t votes = 0;
......
...@@ -177,6 +177,7 @@ SMBEXPORT uint32_t smb_last_in_thread(smb_t*, smbmsg_t*); ...@@ -177,6 +177,7 @@ SMBEXPORT uint32_t smb_last_in_thread(smb_t*, smbmsg_t*);
SMBEXPORT size_t smb_idxreclen(smb_t*); SMBEXPORT size_t smb_idxreclen(smb_t*);
SMBEXPORT uint32_t smb_count_idx_records(smb_t*, uint16_t mask, uint16_t cmp); SMBEXPORT uint32_t smb_count_idx_records(smb_t*, uint16_t mask, uint16_t cmp);
SMBEXPORT bool smb_msg_is_utf8(const smbmsg_t*); SMBEXPORT bool smb_msg_is_utf8(const smbmsg_t*);
SMBEXPORT bool smb_msg_is_ascii(const smbmsg_t*);
SMBEXPORT size_t smb_msg_count(smb_t*, unsigned types); SMBEXPORT size_t smb_msg_count(smb_t*, unsigned types);
SMBEXPORT enum smb_msg_type smb_msg_type(smb_msg_attr_t); SMBEXPORT enum smb_msg_type smb_msg_type(smb_msg_attr_t);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment