Making some small improvements, y'know

This commit is contained in:
XANTRONIX Development 2017-11-24 23:49:00 -06:00
parent c0b350038d
commit 9e92c2b05b
3 changed files with 47 additions and 17 deletions

View file

@ -36,7 +36,7 @@ typedef struct _skipstone_message skipstone_message;
typedef int (skipstone_message_handler)(skipstone_message_service *service, typedef int (skipstone_message_handler)(skipstone_message_service *service,
void *buf, uint16_t size, uint16_t id, void *context); void *buf, uint16_t size, uint16_t id, void *context);
skipstone_message *skipstone_message_new(uint16_t id); skipstone_message *skipstone_message_new();
int skipstone_message_append_string(skipstone_message *message, int skipstone_message_append_string(skipstone_message *message,
char *string, uint8_t size); char *string, uint8_t size);

View file

@ -19,8 +19,8 @@ struct part {
}; };
struct _skipstone_message { struct _skipstone_message {
uint16_t size, id;
skipstone_queue *parts; skipstone_queue *parts;
uint16_t size;
}; };
struct endpoint { struct endpoint {
@ -34,7 +34,7 @@ struct _skipstone_message_service {
skipstone_queue *pending; skipstone_queue *pending;
}; };
skipstone_message *skipstone_message_new(uint16_t id) { skipstone_message *skipstone_message_new() {
skipstone_message *message; skipstone_message *message;
if ((message = malloc(sizeof(*message))) == NULL) { if ((message = malloc(sizeof(*message))) == NULL) {
@ -46,7 +46,6 @@ skipstone_message *skipstone_message_new(uint16_t id) {
} }
message->size = 0; message->size = 0;
message->id = id;
return message; return message;
@ -86,17 +85,33 @@ error_malloc_part:
int skipstone_message_append_string(skipstone_message *message, int skipstone_message_append_string(skipstone_message *message,
char *string, uint8_t size) { char *string, uint8_t size) {
return append_part(message, string, size, SKIPSTONE_MESSAGE_PART_STRING); if (append_part(message, string, size, SKIPSTONE_MESSAGE_PART_STRING) < 0) {
return -1;
}
message->size += sizeof(size) + size;
return 0;
} }
int skipstone_message_append_uint8(skipstone_message *message, uint8_t value) { int skipstone_message_append_uint8(skipstone_message *message, uint8_t value) {
return append_part(message, &value, sizeof(value), if (append_part(message, &value, sizeof(value), SKIPSTONE_MESSAGE_PART_UINT8) < 0) {
SKIPSTONE_MESSAGE_PART_UINT8); return -1;
}
message->size += sizeof(value);
return 0;
} }
int skipstone_message_append_uint16(skipstone_message *message, uint16_t value) { int skipstone_message_append_uint16(skipstone_message *message, uint16_t value) {
return append_part(message, &value, sizeof(value), if (append_part(message, &value, sizeof(value), SKIPSTONE_MESSAGE_PART_UINT16) < 0) {
SKIPSTONE_MESSAGE_PART_UINT16); return -1;
}
message->size += sizeof(value);
return 0;
} }
int skipstone_message_pack(skipstone_message *message, int skipstone_message_pack(skipstone_message *message,

View file

@ -19,8 +19,8 @@ struct part {
}; };
struct _skipstone_message { struct _skipstone_message {
uint16_t size, id;
skipstone_queue *parts; skipstone_queue *parts;
uint16_t size;
}; };
struct endpoint { struct endpoint {
@ -34,7 +34,7 @@ struct _skipstone_message_service {
skipstone_queue *pending; skipstone_queue *pending;
}; };
skipstone_message *skipstone_message_new(uint16_t id) { skipstone_message *skipstone_message_new() {
skipstone_message *message; skipstone_message *message;
if ((message = malloc(sizeof(*message))) == NULL) { if ((message = malloc(sizeof(*message))) == NULL) {
@ -46,7 +46,6 @@ skipstone_message *skipstone_message_new(uint16_t id) {
} }
message->size = 0; message->size = 0;
message->id = id;
return message; return message;
@ -86,17 +85,33 @@ error_malloc_part:
int skipstone_message_append_string(skipstone_message *message, int skipstone_message_append_string(skipstone_message *message,
char *string, uint8_t size) { char *string, uint8_t size) {
return append_part(message, string, size, SKIPSTONE_MESSAGE_PART_STRING); if (append_part(message, string, size, SKIPSTONE_MESSAGE_PART_STRING) < 0) {
return -1;
}
message->size += sizeof(size) + size;
return 0;
} }
int skipstone_message_append_uint8(skipstone_message *message, uint8_t value) { int skipstone_message_append_uint8(skipstone_message *message, uint8_t value) {
return append_part(message, &value, sizeof(value), if (append_part(message, &value, sizeof(value), SKIPSTONE_MESSAGE_PART_UINT8) < 0) {
SKIPSTONE_MESSAGE_PART_UINT8); return -1;
}
message->size += sizeof(value);
return 0;
} }
int skipstone_message_append_uint16(skipstone_message *message, uint16_t value) { int skipstone_message_append_uint16(skipstone_message *message, uint16_t value) {
return append_part(message, &value, sizeof(value), if (append_part(message, &value, sizeof(value), SKIPSTONE_MESSAGE_PART_UINT16) < 0) {
SKIPSTONE_MESSAGE_PART_UINT16); return -1;
}
message->size += sizeof(value);
return 0;
} }
int skipstone_message_pack(skipstone_message *message, int skipstone_message_pack(skipstone_message *message,