diff --git a/interface.c b/interface.c index d952a11..2001df1 100644 --- a/interface.c +++ b/interface.c @@ -43,7 +43,7 @@ #include "mtproto-common.h" -#define ALLOW_MULT 1 +//#define ALLOW_MULT 1 char *default_prompt = "> "; int unread_messages; diff --git a/mtproto-client.c b/mtproto-client.c index 8e29dbb..7b8836a 100644 --- a/mtproto-client.c +++ b/mtproto-client.c @@ -1431,14 +1431,21 @@ void work_pong (struct connection *c UU, long long msg_id UU) { fetch_long (); // ping_id } -void work_detained_info (struct connection *c UU, long long msg_id UU) { - assert (fetch_int () == CODE_msg_detained_info); +void work_detailed_info (struct connection *c UU, long long msg_id UU) { + assert (fetch_int () == CODE_msg_detailed_info); fetch_long (); // msg_id fetch_long (); // answer_msg_id fetch_int (); // bytes fetch_int (); // status } +void work_new_detailed_info (struct connection *c UU, long long msg_id UU) { + assert (fetch_int () == CODE_msg_detailed_info); + fetch_long (); // answer_msg_id + fetch_int (); // bytes + fetch_int (); // status +} + void work_updates_to_long (struct connection *c UU, long long msg_id UU) { assert (fetch_int () == (int)CODE_updates_too_long); logprintf ("updates to long... Getting difference\n"); @@ -1484,8 +1491,11 @@ void rpc_execute_answer (struct connection *c, long long msg_id UU) { case CODE_pong: work_pong (c, msg_id); return; - case CODE_msg_detained_info: - work_detained_info (c, msg_id); + case CODE_msg_detailed_info: + work_detailed_info (c, msg_id); + return; + case CODE_msg_new_detailed_info: + work_new_detailed_info (c, msg_id); return; case CODE_updates_too_long: work_updates_to_long (c, msg_id); diff --git a/mtproto-common.h b/mtproto-common.h index d119cec..79d4f3b 100644 --- a/mtproto-common.h +++ b/mtproto-common.h @@ -78,7 +78,9 @@ #define CODE_peer_notify_settings_old 0xddbcd4a5 #define CODE_user_profile_photo_old 0x990d1493 -#define CODE_msg_detained_info 0x276d3ec6 +#define CODE_msg_new_detailed_info 0x809db6df + +#define CODE_msg_detailed_info 0x276d3ec6 /* not really a limit, for struct encrypted_message only */ // #define MAX_MESSAGE_INTS 16384 #define MAX_MESSAGE_INTS 1048576