From 14a62b568e3e8dd0a4ef22c86aa4de303e9cc25b Mon Sep 17 00:00:00 2001 From: "tg(x)" <*@tg-x.net> Date: Mon, 25 Apr 2011 14:39:58 +0200 Subject: [PATCH 1/2] fixed modifier array --- include/psyc.h | 4 ++-- src/psyc.c | 12 ++++++------ src/render.c | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/include/psyc.h b/include/psyc.h index 860d7d4..5b6e3ec 100644 --- a/include/psyc.h +++ b/include/psyc.h @@ -124,8 +124,8 @@ typedef struct typedef struct { - size_t length; - PSYC_Modifier *ptr; + size_t lines; + PSYC_Modifier **modifiers; } PSYC_ModifierArray; /* intermediate struct for a PSYC packet */ diff --git a/src/psyc.c b/src/psyc.c index 6aec5e1..547e1d9 100644 --- a/src/psyc.c +++ b/src/psyc.c @@ -71,12 +71,12 @@ inline PSYC_Packet PSYC_newPacket(PSYC_ModifierArray *routing, } // calculate routing header length - for (i = 0; i < routing->length; i++) - p.routingLength += PSYC_getModifierLength(&routing->ptr[i]); + for (i = 0; i < routing->lines; i++) + p.routingLength += PSYC_getModifierLength(routing->modifiers[i]); // calculate entity header length - for (i = 0; i < entity->length; i++) - p.contentLength += PSYC_getModifierLength(&routing->ptr[i]); + for (i = 0; i < entity->lines; i++) + p.contentLength += PSYC_getModifierLength(routing->modifiers[i]); // add length of method, data & delimiter p.contentLength += method->length + 1 + data->length; // method \n data @@ -95,8 +95,8 @@ inline PSYC_Packet PSYC_newPacket2(PSYC_Modifier **routing, size_t routinglen, const char *data, size_t datalen, PSYC_PacketFlag flag) { - PSYC_ModifierArray r = {routinglen, *routing}; - PSYC_ModifierArray e = {entitylen, *entity}; + PSYC_ModifierArray r = {routinglen, routing}; + PSYC_ModifierArray e = {entitylen, entity}; PSYC_String m = {methodlen, method}; PSYC_String d = {datalen, data}; diff --git a/src/render.c b/src/render.c index bcf9d7f..44234bb 100644 --- a/src/render.c +++ b/src/render.c @@ -27,16 +27,16 @@ PSYC_RenderRC PSYC_render(PSYC_Packet *packet, char *buffer, size_t buflen) if (packet->length > buflen) return PSYC_RENDER_ERROR; - for (i = 0; i < packet->routing.length; i++) - cur += PSYC_renderModifier(&packet->routing.ptr[i], buffer + cur); + for (i = 0; i < packet->routing.lines; i++) + cur += PSYC_renderModifier(packet->routing.modifiers[i], buffer + cur); if (packet->flag == PSYC_PACKET_NEED_LENGTH) cur += sprintf(buffer + cur, "%ld", packet->contentLength); memcpy(buffer + cur++, "\n", 1); - for (i = 0; i < packet->entity.length; i++) - cur += PSYC_renderModifier(&packet->entity.ptr[i], buffer + cur); + for (i = 0; i < packet->entity.lines; i++) + cur += PSYC_renderModifier(packet->entity.modifiers[i], buffer + cur); memcpy(buffer + cur, PSYC_C2ARG(PSYC_PACKET_DELIMITER)); From a6a2512af753c6712662a077f8edf23fe8b93b9a Mon Sep 17 00:00:00 2001 From: "tg(x)" <*@tg-x.net> Date: Mon, 25 Apr 2011 14:46:14 +0200 Subject: [PATCH 2/2] - --- src/render.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/render.c b/src/render.c index 44234bb..51d888f 100644 --- a/src/render.c +++ b/src/render.c @@ -10,12 +10,12 @@ inline int PSYC_renderModifier(PSYC_Modifier *m, char *buffer) cur += m->name.length; if (m->flag == PSYC_MODIFIER_NEED_LENGTH) { - memcpy(buffer + cur++, " ", 1); + buffer[cur++] = ' '; cur += sprintf(buffer + cur, "%ld", m->value.length); } memcpy(buffer + cur, m->value.ptr, m->value.length); cur += m->value.length; - memcpy(buffer + cur++, "\n", 1); + buffer[cur++] = '\n'; return cur; } @@ -33,7 +33,7 @@ PSYC_RenderRC PSYC_render(PSYC_Packet *packet, char *buffer, size_t buflen) if (packet->flag == PSYC_PACKET_NEED_LENGTH) cur += sprintf(buffer + cur, "%ld", packet->contentLength); - memcpy(buffer + cur++, "\n", 1); + buffer[cur++] = '\n'; for (i = 0; i < packet->entity.lines; i++) cur += PSYC_renderModifier(packet->entity.modifiers[i], buffer + cur);