mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
[Debugger] Fixes the processing methods of incoming part messages (#2840)
JerryScript-DCO-1.0-Signed-off-by: Robert Sipka rsipka.uszeged@partner.samsung.com
This commit is contained in:
parent
806b9f05c0
commit
938e9c7530
@ -1115,6 +1115,8 @@ jerry_debugger_receive (jerry_debugger_uint8_data_t **message_data_p) /**< [out]
|
||||
|
||||
if (context.message_p == NULL)
|
||||
{
|
||||
JERRY_CONTEXT (debugger_received_length) = (uint16_t) context.received_length;
|
||||
|
||||
if (expected_message_type != 0)
|
||||
{
|
||||
jerry_debugger_transport_sleep ();
|
||||
|
||||
@ -86,16 +86,37 @@ jerryx_debugger_rp_receive (jerry_debugger_transport_header_t *header_p, /**< he
|
||||
return true;
|
||||
}
|
||||
|
||||
JERRYX_ASSERT (receive_context_p->message_length >= sizeof (jerryx_rawpacket_receive_header_t));
|
||||
|
||||
uint8_t *message_p = receive_context_p->message_p;
|
||||
size_t message_length = (size_t) (message_p[0]);
|
||||
|
||||
size_t message_total_length = receive_context_p->message_total_length;
|
||||
|
||||
if (message_total_length == 0)
|
||||
{
|
||||
/* Byte stream. */
|
||||
if (receive_context_p->message_length < sizeof (jerryx_rawpacket_receive_header_t))
|
||||
{
|
||||
receive_context_p->message_p = NULL;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Datagram packet. */
|
||||
JERRYX_ASSERT (receive_context_p->message_length >= sizeof (jerryx_rawpacket_receive_header_t));
|
||||
}
|
||||
|
||||
uint8_t *message_p = receive_context_p->message_p;
|
||||
size_t message_length = (size_t) (message_p[0]);
|
||||
|
||||
if (message_total_length == 0)
|
||||
{
|
||||
size_t new_total_length = message_length + sizeof (jerryx_rawpacket_receive_header_t);
|
||||
|
||||
/* Byte stream. */
|
||||
if (receive_context_p->message_length < new_total_length)
|
||||
{
|
||||
receive_context_p->message_p = NULL;
|
||||
return true;
|
||||
}
|
||||
|
||||
receive_context_p->message_total_length = new_total_length;
|
||||
}
|
||||
else
|
||||
@ -104,9 +125,7 @@ jerryx_debugger_rp_receive (jerry_debugger_transport_header_t *header_p, /**< he
|
||||
JERRYX_ASSERT (receive_context_p->message_length == (message_length + sizeof (jerryx_rawpacket_receive_header_t)));
|
||||
}
|
||||
|
||||
message_p += sizeof (jerryx_rawpacket_receive_header_t);
|
||||
|
||||
receive_context_p->message_p = message_p;
|
||||
receive_context_p->message_p = message_p + sizeof (jerryx_rawpacket_receive_header_t);
|
||||
receive_context_p->message_length = message_length;
|
||||
|
||||
return true;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user