Harmonizing (de)serialization for AppMessages
This commit is contained in:
parent
111a0d776a
commit
3469f338d6
|
@ -84,7 +84,7 @@ AppMessage * appmessage_new_deserialize(Buffer * buffer)
|
||||||
size_t pos = 0;
|
size_t pos = 0;
|
||||||
size_t s;
|
size_t s;
|
||||||
Variable * v;
|
Variable * v;
|
||||||
uint32_t u32;
|
uint8_t u8;
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
fprintf(stderr, "DEBUG: %s()\n", __func__);
|
fprintf(stderr, "DEBUG: %s()\n", __func__);
|
||||||
|
@ -92,7 +92,7 @@ AppMessage * appmessage_new_deserialize(Buffer * buffer)
|
||||||
if((message = object_new(sizeof(*message))) == NULL)
|
if((message = object_new(sizeof(*message))) == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
s = size;
|
s = size;
|
||||||
if((v = variable_new_deserialize_type(VT_UINT32, &s, &data[pos]))
|
if((v = variable_new_deserialize_type(VT_UINT8, &s, &data[pos]))
|
||||||
== NULL)
|
== NULL)
|
||||||
{
|
{
|
||||||
object_delete(message);
|
object_delete(message);
|
||||||
|
@ -101,9 +101,9 @@ AppMessage * appmessage_new_deserialize(Buffer * buffer)
|
||||||
pos += s;
|
pos += s;
|
||||||
size -= s;
|
size -= s;
|
||||||
/* XXX may fail */
|
/* XXX may fail */
|
||||||
variable_get_as(v, VT_UINT32, &u32);
|
variable_get_as(v, VT_UINT8, &u8);
|
||||||
variable_delete(v);
|
variable_delete(v);
|
||||||
switch((message->type = u32))
|
switch((message->type = u8))
|
||||||
{
|
{
|
||||||
case AMT_CALL:
|
case AMT_CALL:
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
@ -126,7 +126,7 @@ AppMessage * appmessage_new_deserialize(Buffer * buffer)
|
||||||
message->t.call.var_cnt = 0;
|
message->t.call.var_cnt = 0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
error_set_code(1, "%s%u", "Unknown message type ", u32);
|
error_set_code(1, "%s%u", "Unknown message type ", u8);
|
||||||
/* XXX should not happen */
|
/* XXX should not happen */
|
||||||
object_delete(message);
|
object_delete(message);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user