diff options
author | George Hazan <ghazan@miranda.im> | 2022-10-04 21:19:07 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2022-10-04 21:19:07 +0300 |
commit | e84083c4ba1f1e68b0bc76939f2d0902d3c03c9e (patch) | |
tree | 311c9d51520a47882ae502aa173d69fe64fc73e6 /protocols/WhatsAppWeb/src/utils.cpp | |
parent | ff768b032e5c96b546a0f66a98b0555845bd8217 (diff) |
decoding messages - beginning
Diffstat (limited to 'protocols/WhatsAppWeb/src/utils.cpp')
-rw-r--r-- | protocols/WhatsAppWeb/src/utils.cpp | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/protocols/WhatsAppWeb/src/utils.cpp b/protocols/WhatsAppWeb/src/utils.cpp index 509f277f49..3f20216b13 100644 --- a/protocols/WhatsAppWeb/src/utils.cpp +++ b/protocols/WhatsAppWeb/src/utils.cpp @@ -41,6 +41,24 @@ WAJid::WAJid(const char *pszJid) user = tmp; } +bool WAJid::isUser() const +{ return server == S_WHATSAPP_NET; +} + +bool WAJid::isGroup() const +{ return server == "g.us"; +} + +bool WAJid::isBroadcast() const +{ + return server == "broadcast"; +} + +bool WAJid::isStatusBroadcast() const +{ + return isBroadcast() && user == "status"; +} + CMStringA WAJid::toString() const { CMStringA ret(user); @@ -352,7 +370,7 @@ MBinBuffer WhatsAppProto::unzip(const MBinBuffer &src) z_stream strm = {}; inflateInit(&strm); - strm.avail_in = src.length(); + strm.avail_in = (uInt)src.length(); strm.next_in = (Bytef *)src.data(); MBinBuffer res; @@ -365,11 +383,13 @@ MBinBuffer WhatsAppProto::unzip(const MBinBuffer &src) int ret = inflate(&strm, Z_NO_FLUSH); switch (ret) { case Z_NEED_DICT: - ret = Z_DATA_ERROR; /* and fall through */ + ret = Z_DATA_ERROR; + __fallthrough; + case Z_DATA_ERROR: case Z_MEM_ERROR: inflateEnd(&strm); - return ret; + return res; } res.append(buf, sizeof(buf) - strm.avail_out); |