diff options
| author | Dimitri Staessens <dimitri.staessens@intec.ugent.be> | 2016-03-11 17:30:45 +0100 | 
|---|---|---|
| committer | Dimitri Staessens <dimitri.staessens@intec.ugent.be> | 2016-03-11 17:30:45 +0100 | 
| commit | d6897a45d8b45d5bc00f1a6dcd627a14aa535120 (patch) | |
| tree | e37582961e744a7d56e29c134ba147df2da1a061 /src/lib/sockets.c | |
| parent | b68c90fbf9f4a60e4fc406903e38d20453ba8253 (diff) | |
| parent | 328078c1ee01d64733328b3dad3e7db68dcd6d2d (diff) | |
| download | ouroboros-d6897a45d8b45d5bc00f1a6dcd627a14aa535120.tar.gz ouroboros-d6897a45d8b45d5bc00f1a6dcd627a14aa535120.zip | |
Merged in sandervrijders/ouroboros/be-irmd (pull request #26)
Helper functions for naming and extension of the irmd code
Diffstat (limited to 'src/lib/sockets.c')
| -rw-r--r-- | src/lib/sockets.c | 33 | 
1 files changed, 11 insertions, 22 deletions
| diff --git a/src/lib/sockets.c b/src/lib/sockets.c index eebd223b..90117c5c 100644 --- a/src/lib/sockets.c +++ b/src/lib/sockets.c @@ -137,7 +137,7 @@ static int deser_copy_string(uint8_t * data,  }  static void deser_copy_int(uint8_t * data, -                           int * dst, +                           unsigned int * dst,                             int * offset)  {          *dst = 0; @@ -185,9 +185,7 @@ buffer_t * serialize_irm_msg(struct irm_msg * msg)          ser_copy_value(sizeof(enum irm_msg_code), data, &msg->code, &offset); -        if (msg->name == NULL || -            msg->name->ap_name == NULL || -            msg->name->ae_name == NULL ) { +        if (!name_is_ok(msg->name)) {                  LOG_ERR("Null pointer passed");                  free(buf->data);                  free(buf); @@ -285,7 +283,7 @@ struct irm_msg * deserialize_irm_msg(buffer_t * data)          deser_copy_enum(data->data, &msg->code, &offset); -        msg->name = malloc(sizeof(*(msg->name))); +        msg->name = name_create();          if (msg->name == NULL) {                  LOG_ERR("Failed to alloc memory");                  free(msg); @@ -295,7 +293,7 @@ struct irm_msg * deserialize_irm_msg(buffer_t * data)          if (deser_copy_string(data->data,                                &msg->name->ap_name,                                &offset)) { -                free(msg->name); +                name_destroy(msg->name);                  free(msg);                  return NULL;          } @@ -305,8 +303,7 @@ struct irm_msg * deserialize_irm_msg(buffer_t * data)          if (deser_copy_string(data->data,                                &msg->name->ae_name,                                &offset)) { -                free(msg->name->ap_name); -                free(msg->name); +                name_destroy(msg->name);                  free(msg);                  return NULL;          } @@ -318,11 +315,9 @@ struct irm_msg * deserialize_irm_msg(buffer_t * data)                     if (deser_copy_string(data->data,                                           &msg->ipcp_type,                                           &offset)) { -                        free(msg->name->ae_name); -                        free(msg->name->ap_name); -                        free(msg->name); -                        free(msg); -                        return NULL; +                           name_destroy(msg->name); +                           free(msg); +                           return NULL;                  }                  break; @@ -334,9 +329,7 @@ struct irm_msg * deserialize_irm_msg(buffer_t * data)                  if (deser_copy_string(data->data,                                        &msg->dif_name,                                        &offset)) { -                        free(msg->name->ae_name); -                        free(msg->name->ap_name); -                        free(msg->name); +                        name_destroy(msg->name);                          free(msg);                          return NULL;                  } @@ -348,9 +341,7 @@ struct irm_msg * deserialize_irm_msg(buffer_t * data)                  msg->difs = malloc(sizeof(*(msg->difs)) * difs_size);                  if (msg->difs == NULL) { -                        free(msg->name->ae_name); -                        free(msg->name->ap_name); -                        free(msg->name); +                        name_destroy(msg->name);                          free(msg);                          return NULL;                  } @@ -362,9 +353,7 @@ struct irm_msg * deserialize_irm_msg(buffer_t * data)                                  for (j = 0; j < i; j++)                                          free(msg->difs[j]);                                  free(msg->difs); -                                free(msg->name->ae_name); -                                free(msg->name->ap_name); -                                free(msg->name); +                                name_destroy(msg->name);                                  free(msg);                                  return NULL;                          } | 
