Refactoring
This commit is contained in:
parent
d0b8cc2305
commit
1001e9b429
@ -20,30 +20,30 @@ int AddChatroomMember(string roomid, string wxids)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int rv = 0;
|
int rv = 0;
|
||||||
DWORD addRoomMemberCall1 = g_WeChatWinDllAddr + g_WxCalls.arm.call1;
|
DWORD armCall1 = g_WeChatWinDllAddr + g_WxCalls.arm.call1;
|
||||||
DWORD addRoomMemberCall2 = g_WeChatWinDllAddr + g_WxCalls.arm.call2;
|
DWORD armCall2 = g_WeChatWinDllAddr + g_WxCalls.arm.call2;
|
||||||
DWORD addRoomMemberCall3 = g_WeChatWinDllAddr + g_WxCalls.arm.call3;
|
DWORD armCall3 = g_WeChatWinDllAddr + g_WxCalls.arm.call3;
|
||||||
|
|
||||||
DWORD temp = 0;
|
DWORD temp = 0;
|
||||||
wstring wsRoomid = String2Wstring(roomid);
|
wstring wsRoomid = String2Wstring(roomid);
|
||||||
WxString txtRoomid(wsRoomid);
|
WxString wxRoomid(wsRoomid);
|
||||||
|
|
||||||
vector<wstring> vMembers;
|
vector<wstring> vMembers;
|
||||||
vector<WxString> vTxtMembers;
|
vector<WxString> vWxMembers;
|
||||||
wstringstream wss(String2Wstring(wxids));
|
wstringstream wss(String2Wstring(wxids));
|
||||||
while (wss.good()) {
|
while (wss.good()) {
|
||||||
wstring wstr;
|
wstring wstr;
|
||||||
getline(wss, wstr, L',');
|
getline(wss, wstr, L',');
|
||||||
vMembers.push_back(wstr);
|
vMembers.push_back(wstr);
|
||||||
WxString txtMember(vMembers.back());
|
WxString txtMember(vMembers.back());
|
||||||
vTxtMembers.push_back(txtMember);
|
vWxMembers.push_back(txtMember);
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_DEBUG("Adding {} members[{}] to {}", vTxtMembers.size(), wxids.c_str(), roomid.c_str());
|
LOG_DEBUG("Adding {} members[{}] to {}", vWxMembers.size(), wxids.c_str(), roomid.c_str());
|
||||||
__asm {
|
__asm {
|
||||||
pushad;
|
pushad;
|
||||||
pushfd;
|
pushfd;
|
||||||
call addRoomMemberCall1;
|
call armCall1;
|
||||||
sub esp, 0x8;
|
sub esp, 0x8;
|
||||||
mov temp, eax;
|
mov temp, eax;
|
||||||
mov ecx, esp;
|
mov ecx, esp;
|
||||||
@ -52,13 +52,13 @@ int AddChatroomMember(string roomid, string wxids)
|
|||||||
test esi, esi;
|
test esi, esi;
|
||||||
sub esp, 0x14;
|
sub esp, 0x14;
|
||||||
mov ecx, esp;
|
mov ecx, esp;
|
||||||
lea eax, txtRoomid;
|
lea eax, wxRoomid;
|
||||||
push eax;
|
push eax;
|
||||||
call addRoomMemberCall2;
|
call armCall2;
|
||||||
mov ecx, temp;
|
mov ecx, temp;
|
||||||
lea eax, vTxtMembers;
|
lea eax, vWxMembers;
|
||||||
push eax;
|
push eax;
|
||||||
call addRoomMemberCall3;
|
call armCall3;
|
||||||
mov rv, eax;
|
mov rv, eax;
|
||||||
popfd;
|
popfd;
|
||||||
popad;
|
popad;
|
||||||
@ -74,40 +74,40 @@ int DelChatroomMember(string roomid, string wxids)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int rv = 0;
|
int rv = 0;
|
||||||
DWORD delRoomMemberCall1 = g_WeChatWinDllAddr + g_WxCalls.drm.call1;
|
DWORD drmCall1 = g_WeChatWinDllAddr + g_WxCalls.drm.call1;
|
||||||
DWORD delRoomMemberCall2 = g_WeChatWinDllAddr + g_WxCalls.drm.call2;
|
DWORD drmCall2 = g_WeChatWinDllAddr + g_WxCalls.drm.call2;
|
||||||
DWORD delRoomMemberCall3 = g_WeChatWinDllAddr + g_WxCalls.drm.call3;
|
DWORD drmCall3 = g_WeChatWinDllAddr + g_WxCalls.drm.call3;
|
||||||
|
|
||||||
DWORD temp = 0;
|
DWORD temp = 0;
|
||||||
wstring wsRoomid = String2Wstring(roomid);
|
wstring wsRoomid = String2Wstring(roomid);
|
||||||
WxString txtRoomid(wsRoomid);
|
WxString wxRoomid(wsRoomid);
|
||||||
|
|
||||||
vector<wstring> vMembers;
|
vector<wstring> vMembers;
|
||||||
vector<WxString> vTxtMembers;
|
vector<WxString> vWxMembers;
|
||||||
wstringstream wss(String2Wstring(wxids));
|
wstringstream wss(String2Wstring(wxids));
|
||||||
while (wss.good()) {
|
while (wss.good()) {
|
||||||
wstring wstr;
|
wstring wstr;
|
||||||
getline(wss, wstr, L',');
|
getline(wss, wstr, L',');
|
||||||
vMembers.push_back(wstr);
|
vMembers.push_back(wstr);
|
||||||
WxString txtMember(vMembers.back());
|
WxString txtMember(vMembers.back());
|
||||||
vTxtMembers.push_back(txtMember);
|
vWxMembers.push_back(txtMember);
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_DEBUG("Adding {} members[{}] to {}", vTxtMembers.size(), wxids.c_str(), roomid.c_str());
|
LOG_DEBUG("Adding {} members[{}] to {}", vWxMembers.size(), wxids.c_str(), roomid.c_str());
|
||||||
__asm {
|
__asm {
|
||||||
pushad;
|
pushad;
|
||||||
pushfd;
|
pushfd;
|
||||||
call delRoomMemberCall1;
|
call drmCall1;
|
||||||
sub esp, 0x14;
|
sub esp, 0x14;
|
||||||
mov esi, eax;
|
mov esi, eax;
|
||||||
mov ecx, esp;
|
mov ecx, esp;
|
||||||
lea edi, txtRoomid;
|
lea edi, wxRoomid;
|
||||||
push edi;
|
push edi;
|
||||||
call delRoomMemberCall2;
|
call drmCall2;
|
||||||
mov ecx, esi;
|
mov ecx, esi;
|
||||||
lea eax, vTxtMembers;
|
lea eax, vWxMembers;
|
||||||
push eax;
|
push eax;
|
||||||
call delRoomMemberCall3;
|
call drmCall3;
|
||||||
mov rv, eax;
|
mov rv, eax;
|
||||||
popfd;
|
popfd;
|
||||||
popad;
|
popad;
|
||||||
|
@ -69,10 +69,11 @@ bool func_is_login(uint8_t *out, size_t *len)
|
|||||||
|
|
||||||
bool func_get_self_wxid(uint8_t *out, size_t *len)
|
bool func_get_self_wxid(uint8_t *out, size_t *len)
|
||||||
{
|
{
|
||||||
string wxid = GetSelfWxid();
|
|
||||||
Response rsp = Response_init_default;
|
Response rsp = Response_init_default;
|
||||||
rsp.func = Functions_FUNC_GET_SELF_WXID;
|
rsp.func = Functions_FUNC_GET_SELF_WXID;
|
||||||
rsp.which_msg = Response_str_tag;
|
rsp.which_msg = Response_str_tag;
|
||||||
|
|
||||||
|
string wxid = GetSelfWxid();
|
||||||
rsp.msg.str = (char *)wxid.c_str();
|
rsp.msg.str = (char *)wxid.c_str();
|
||||||
|
|
||||||
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
||||||
@ -192,15 +193,16 @@ bool func_get_audio_msg(uint64_t id, char *dir, uint8_t *out, size_t *len)
|
|||||||
Response rsp = Response_init_default;
|
Response rsp = Response_init_default;
|
||||||
rsp.func = Functions_FUNC_GET_AUDIO_MSG;
|
rsp.func = Functions_FUNC_GET_AUDIO_MSG;
|
||||||
rsp.which_msg = Response_str_tag;
|
rsp.which_msg = Response_str_tag;
|
||||||
|
string path = "";
|
||||||
|
|
||||||
string path = string(dir ? dir : "");
|
if (dir == NULL) {
|
||||||
if (path.empty()) {
|
|
||||||
LOG_ERROR("Empty dir.");
|
LOG_ERROR("Empty dir.");
|
||||||
rsp.msg.str = (char *)"";
|
|
||||||
} else {
|
} else {
|
||||||
rsp.msg.str = (char *)GetAudio(id, dir).c_str();
|
path = GetAudio(id, dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rsp.msg.str = (char *)path.c_str();
|
||||||
|
|
||||||
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
||||||
if (!pb_encode(&stream, Response_fields, &rsp)) {
|
if (!pb_encode(&stream, Response_fields, &rsp)) {
|
||||||
LOG_ERROR("Encoding failed: {}", PB_GET_ERROR(&stream));
|
LOG_ERROR("Encoding failed: {}", PB_GET_ERROR(&stream));
|
||||||
@ -216,9 +218,9 @@ bool func_send_txt(TextMsg txt, uint8_t *out, size_t *len)
|
|||||||
Response rsp = Response_init_default;
|
Response rsp = Response_init_default;
|
||||||
rsp.func = Functions_FUNC_SEND_TXT;
|
rsp.func = Functions_FUNC_SEND_TXT;
|
||||||
rsp.which_msg = Response_status_tag;
|
rsp.which_msg = Response_status_tag;
|
||||||
rsp.msg.status = 0;
|
|
||||||
|
|
||||||
if ((txt.msg == NULL) || (txt.receiver == NULL)) {
|
if ((txt.msg == NULL) || (txt.receiver == NULL)) {
|
||||||
|
LOG_ERROR("Empty message or receiver.");
|
||||||
rsp.msg.status = -1; // Empty message or empty receiver
|
rsp.msg.status = -1; // Empty message or empty receiver
|
||||||
} else {
|
} else {
|
||||||
string msg(txt.msg);
|
string msg(txt.msg);
|
||||||
@ -226,6 +228,7 @@ bool func_send_txt(TextMsg txt, uint8_t *out, size_t *len)
|
|||||||
string aters(txt.aters ? txt.aters : "");
|
string aters(txt.aters ? txt.aters : "");
|
||||||
|
|
||||||
SendTextMessage(receiver, msg, aters);
|
SendTextMessage(receiver, msg, aters);
|
||||||
|
rsp.msg.status = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
||||||
@ -243,12 +246,13 @@ bool func_send_img(char *path, char *receiver, uint8_t *out, size_t *len)
|
|||||||
Response rsp = Response_init_default;
|
Response rsp = Response_init_default;
|
||||||
rsp.func = Functions_FUNC_SEND_IMG;
|
rsp.func = Functions_FUNC_SEND_IMG;
|
||||||
rsp.which_msg = Response_status_tag;
|
rsp.which_msg = Response_status_tag;
|
||||||
rsp.msg.status = 0;
|
|
||||||
|
|
||||||
if ((path == NULL) || (receiver == NULL)) {
|
if ((path == NULL) || (receiver == NULL)) {
|
||||||
|
LOG_ERROR("Empty path or receiver.");
|
||||||
rsp.msg.status = -1;
|
rsp.msg.status = -1;
|
||||||
} else {
|
} else {
|
||||||
SendImageMessage(receiver, path);
|
SendImageMessage(receiver, path);
|
||||||
|
rsp.msg.status = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
||||||
@ -266,12 +270,13 @@ bool func_send_file(char *path, char *receiver, uint8_t *out, size_t *len)
|
|||||||
Response rsp = Response_init_default;
|
Response rsp = Response_init_default;
|
||||||
rsp.func = Functions_FUNC_SEND_FILE;
|
rsp.func = Functions_FUNC_SEND_FILE;
|
||||||
rsp.which_msg = Response_status_tag;
|
rsp.which_msg = Response_status_tag;
|
||||||
rsp.msg.status = 0;
|
|
||||||
|
|
||||||
if ((path == NULL) || (receiver == NULL)) {
|
if ((path == NULL) || (receiver == NULL)) {
|
||||||
|
LOG_ERROR("Empty path or receiver.");
|
||||||
rsp.msg.status = -1;
|
rsp.msg.status = -1;
|
||||||
} else {
|
} else {
|
||||||
SendImageMessage(receiver, path);
|
SendImageMessage(receiver, path);
|
||||||
|
rsp.msg.status = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
||||||
@ -289,9 +294,9 @@ bool func_send_xml(XmlMsg xml, uint8_t *out, size_t *len)
|
|||||||
Response rsp = Response_init_default;
|
Response rsp = Response_init_default;
|
||||||
rsp.func = Functions_FUNC_SEND_XML;
|
rsp.func = Functions_FUNC_SEND_XML;
|
||||||
rsp.which_msg = Response_status_tag;
|
rsp.which_msg = Response_status_tag;
|
||||||
rsp.msg.status = 0;
|
|
||||||
|
|
||||||
if ((xml.content == NULL) || (xml.receiver == NULL)) {
|
if ((xml.content == NULL) || (xml.receiver == NULL)) {
|
||||||
|
LOG_ERROR("Empty content or receiver.");
|
||||||
rsp.msg.status = -1;
|
rsp.msg.status = -1;
|
||||||
} else {
|
} else {
|
||||||
string receiver(xml.receiver);
|
string receiver(xml.receiver);
|
||||||
@ -299,6 +304,7 @@ bool func_send_xml(XmlMsg xml, uint8_t *out, size_t *len)
|
|||||||
string path(xml.path ? xml.path : "");
|
string path(xml.path ? xml.path : "");
|
||||||
uint32_t type = (uint32_t)xml.type;
|
uint32_t type = (uint32_t)xml.type;
|
||||||
SendXmlMessage(receiver, content, path, type);
|
SendXmlMessage(receiver, content, path, type);
|
||||||
|
rsp.msg.status = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
||||||
@ -316,12 +322,13 @@ bool func_send_emotion(char *path, char *receiver, uint8_t *out, size_t *len)
|
|||||||
Response rsp = Response_init_default;
|
Response rsp = Response_init_default;
|
||||||
rsp.func = Functions_FUNC_SEND_EMOTION;
|
rsp.func = Functions_FUNC_SEND_EMOTION;
|
||||||
rsp.which_msg = Response_status_tag;
|
rsp.which_msg = Response_status_tag;
|
||||||
rsp.msg.status = 0;
|
|
||||||
|
|
||||||
if ((path == NULL) || (receiver == NULL)) {
|
if ((path == NULL) || (receiver == NULL)) {
|
||||||
|
LOG_ERROR("Empty path or receiver.");
|
||||||
rsp.msg.status = -1;
|
rsp.msg.status = -1;
|
||||||
} else {
|
} else {
|
||||||
SendEmotionMessage(receiver, path);
|
SendEmotionMessage(receiver, path);
|
||||||
|
rsp.msg.status = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
||||||
@ -339,8 +346,11 @@ bool func_send_rich_txt(RichText rt, uint8_t *out, size_t *len)
|
|||||||
Response rsp = Response_init_default;
|
Response rsp = Response_init_default;
|
||||||
rsp.func = Functions_FUNC_SEND_RICH_TXT;
|
rsp.func = Functions_FUNC_SEND_RICH_TXT;
|
||||||
rsp.which_msg = Response_status_tag;
|
rsp.which_msg = Response_status_tag;
|
||||||
rsp.msg.status = 0;
|
|
||||||
|
|
||||||
|
if (rt.receiver == NULL) {
|
||||||
|
LOG_ERROR("Empty receiver.");
|
||||||
|
rsp.msg.status = -1;
|
||||||
|
} else {
|
||||||
RichText_t rtt;
|
RichText_t rtt;
|
||||||
rtt.account = string(rt.account ? rt.account : "");
|
rtt.account = string(rt.account ? rt.account : "");
|
||||||
rtt.digest = string(rt.digest ? rt.digest : "");
|
rtt.digest = string(rt.digest ? rt.digest : "");
|
||||||
@ -351,6 +361,8 @@ bool func_send_rich_txt(RichText rt, uint8_t *out, size_t *len)
|
|||||||
rtt.url = string(rt.url ? rt.url : "");
|
rtt.url = string(rt.url ? rt.url : "");
|
||||||
|
|
||||||
rsp.msg.status = SendRichTextMessage(rtt);
|
rsp.msg.status = SendRichTextMessage(rtt);
|
||||||
|
}
|
||||||
|
|
||||||
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
||||||
if (!pb_encode(&stream, Response_fields, &rsp)) {
|
if (!pb_encode(&stream, Response_fields, &rsp)) {
|
||||||
LOG_ERROR("Encoding failed: {}", PB_GET_ERROR(&stream));
|
LOG_ERROR("Encoding failed: {}", PB_GET_ERROR(&stream));
|
||||||
@ -368,6 +380,7 @@ bool func_send_pat_msg(char *roomid, char *wxid, uint8_t *out, size_t *len)
|
|||||||
rsp.which_msg = Response_status_tag;
|
rsp.which_msg = Response_status_tag;
|
||||||
|
|
||||||
if ((roomid == NULL) || (wxid == NULL)) {
|
if ((roomid == NULL) || (wxid == NULL)) {
|
||||||
|
LOG_ERROR("Empty roomid or wxid.");
|
||||||
rsp.msg.status = -1;
|
rsp.msg.status = -1;
|
||||||
} else {
|
} else {
|
||||||
rsp.msg.status = SendPatMessage(roomid, wxid);
|
rsp.msg.status = SendPatMessage(roomid, wxid);
|
||||||
@ -502,8 +515,14 @@ bool func_exec_db_query(char *db, char *sql, uint8_t *out, size_t *len)
|
|||||||
Response rsp = Response_init_default;
|
Response rsp = Response_init_default;
|
||||||
rsp.func = Functions_FUNC_EXEC_DB_QUERY;
|
rsp.func = Functions_FUNC_EXEC_DB_QUERY;
|
||||||
rsp.which_msg = Response_rows_tag;
|
rsp.which_msg = Response_rows_tag;
|
||||||
|
DbRows_t rows;
|
||||||
|
|
||||||
|
if ((db == NULL) || (sql == NULL)) {
|
||||||
|
LOG_ERROR("Empty db or sql.");
|
||||||
|
} else {
|
||||||
|
rows = ExecDbQuery(db, sql);
|
||||||
|
}
|
||||||
|
|
||||||
DbRows_t rows = ExecDbQuery(db, sql);
|
|
||||||
rsp.msg.rows.rows.arg = &rows;
|
rsp.msg.rows.rows.arg = &rows;
|
||||||
rsp.msg.rows.rows.funcs.encode = encode_rows;
|
rsp.msg.rows.rows.funcs.encode = encode_rows;
|
||||||
|
|
||||||
@ -522,16 +541,12 @@ bool func_accept_friend(char *v3, char *v4, int32_t scene, uint8_t *out, size_t
|
|||||||
Response rsp = Response_init_default;
|
Response rsp = Response_init_default;
|
||||||
rsp.func = Functions_FUNC_ACCEPT_FRIEND;
|
rsp.func = Functions_FUNC_ACCEPT_FRIEND;
|
||||||
rsp.which_msg = Response_status_tag;
|
rsp.which_msg = Response_status_tag;
|
||||||
rsp.msg.status = 0;
|
|
||||||
|
|
||||||
if ((v3 == NULL) || (v4 == NULL)) {
|
if ((v3 == NULL) || (v4 == NULL)) {
|
||||||
rsp.msg.status = -1;
|
rsp.msg.status = -1;
|
||||||
LOG_ERROR("Empty V3 or V4.");
|
LOG_ERROR("Empty V3 or V4.");
|
||||||
} else {
|
} else {
|
||||||
rsp.msg.status = AcceptNewFriend(v3, v4, scene);
|
rsp.msg.status = AcceptNewFriend(v3, v4, scene);
|
||||||
if (rsp.msg.status != 1) {
|
|
||||||
LOG_ERROR("AcceptNewFriend failed: {}", rsp.msg.status);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
||||||
@ -549,11 +564,12 @@ bool func_receive_transfer(char *wxid, char *tfid, char *taid, uint8_t *out, siz
|
|||||||
Response rsp = Response_init_default;
|
Response rsp = Response_init_default;
|
||||||
rsp.func = Functions_FUNC_RECV_TRANSFER;
|
rsp.func = Functions_FUNC_RECV_TRANSFER;
|
||||||
rsp.which_msg = Response_status_tag;
|
rsp.which_msg = Response_status_tag;
|
||||||
rsp.msg.status = 0;
|
|
||||||
|
|
||||||
|
if ((wxid == NULL) || (tfid == NULL) || (taid == NULL)) {
|
||||||
|
rsp.msg.status = -1;
|
||||||
|
LOG_ERROR("Empty wxid, tfid or taid.");
|
||||||
|
} else {
|
||||||
rsp.msg.status = ReceiveTransfer(wxid, tfid, taid);
|
rsp.msg.status = ReceiveTransfer(wxid, tfid, taid);
|
||||||
if (rsp.msg.status != 1) {
|
|
||||||
LOG_ERROR("AddChatroomMember failed: {}", rsp.msg.status);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
||||||
@ -652,17 +668,16 @@ bool func_decrypt_image(DecPath dec, uint8_t *out, size_t *len)
|
|||||||
Response rsp = Response_init_default;
|
Response rsp = Response_init_default;
|
||||||
rsp.func = Functions_FUNC_DECRYPT_IMAGE;
|
rsp.func = Functions_FUNC_DECRYPT_IMAGE;
|
||||||
rsp.which_msg = Response_str_tag;
|
rsp.which_msg = Response_str_tag;
|
||||||
|
string path = "";
|
||||||
|
|
||||||
string src = string(dec.src ? dec.src : "");
|
if ((dec.src == NULL) || (dec.dst == NULL)) {
|
||||||
string dst = string(dec.dst ? dec.dst : "");
|
LOG_ERROR("Empty src or dst.");
|
||||||
if (src.empty()) {
|
|
||||||
LOG_ERROR("Empty src path.");
|
|
||||||
rsp.msg.str = (char *)"";
|
|
||||||
} else {
|
} else {
|
||||||
string path = DecryptImage(src, dst);
|
path = DecryptImage(dec.src, dec.dst);
|
||||||
rsp.msg.str = (char *)path.c_str();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rsp.msg.str = (char *)path.c_str();
|
||||||
|
|
||||||
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
||||||
if (!pb_encode(&stream, Response_fields, &rsp)) {
|
if (!pb_encode(&stream, Response_fields, &rsp)) {
|
||||||
LOG_ERROR("Encoding failed: {}", PB_GET_ERROR(&stream));
|
LOG_ERROR("Encoding failed: {}", PB_GET_ERROR(&stream));
|
||||||
@ -680,9 +695,11 @@ bool func_add_room_members(char *roomid, char *wxids, uint8_t *out, size_t *len)
|
|||||||
rsp.which_msg = Response_status_tag;
|
rsp.which_msg = Response_status_tag;
|
||||||
rsp.msg.status = 0;
|
rsp.msg.status = 0;
|
||||||
|
|
||||||
|
if ((roomid == NULL) || (wxids == NULL)) {
|
||||||
|
LOG_ERROR("Empty roomid or wxids.");
|
||||||
|
rsp.msg.status = -1;
|
||||||
|
} else {
|
||||||
rsp.msg.status = AddChatroomMember(roomid, wxids);
|
rsp.msg.status = AddChatroomMember(roomid, wxids);
|
||||||
if (rsp.msg.status != 1) {
|
|
||||||
LOG_ERROR("AddChatroomMember failed: {}", rsp.msg.status);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
||||||
@ -702,9 +719,11 @@ bool func_del_room_members(char *roomid, char *wxids, uint8_t *out, size_t *len)
|
|||||||
rsp.which_msg = Response_status_tag;
|
rsp.which_msg = Response_status_tag;
|
||||||
rsp.msg.status = 0;
|
rsp.msg.status = 0;
|
||||||
|
|
||||||
|
if ((roomid == NULL) || (wxids == NULL)) {
|
||||||
|
LOG_ERROR("Empty roomid or wxids.");
|
||||||
|
rsp.msg.status = -1;
|
||||||
|
} else {
|
||||||
rsp.msg.status = DelChatroomMember(roomid, wxids);
|
rsp.msg.status = DelChatroomMember(roomid, wxids);
|
||||||
if (rsp.msg.status != 1) {
|
|
||||||
LOG_ERROR("DelChatroomMember failed: {}", rsp.msg.status);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
pb_ostream_t stream = pb_ostream_from_buffer(out, *len);
|
||||||
|
Loading…
Reference in New Issue
Block a user