update: rename to update_offset and change offset directly

This commit is contained in:
Max Bruckner 2017-02-20 15:02:49 +01:00
parent f16dd7e028
commit 8c1ed3ab82

22
cJSON.c
View File

@ -306,17 +306,17 @@ static unsigned char* ensure(printbuffer * const p, size_t needed)
return newbuffer + p->offset; return newbuffer + p->offset;
} }
/* calculate the new length of the string in a printbuffer */ /* calculate the new length of the string in a printbuffer and update the offset */
static size_t update(const printbuffer *p) static void update_offset(printbuffer * const buffer)
{ {
const unsigned char *str = NULL; const unsigned char *buffer_pointer = NULL;
if (!p || !p->buffer) if ((buffer == NULL) || (buffer->buffer == NULL))
{ {
return 0; return;
} }
str = p->buffer + p->offset; buffer_pointer = buffer->buffer + buffer->offset;
return p->offset + strlen((const char*)str); buffer->offset += strlen((const char*)buffer_pointer);
} }
/* Render the number nicely from the given item into a string. */ /* Render the number nicely from the given item into a string. */
@ -866,7 +866,7 @@ static unsigned char *print(const cJSON * const item, cjbool format)
{ {
goto fail; goto fail;
} }
buffer->offset = update(buffer); /* update the length of the string */ update_offset(buffer);
/* copy the buffer over to a new one */ /* copy the buffer over to a new one */
printed = (unsigned char*) cJSON_malloc(buffer->offset + 1); printed = (unsigned char*) cJSON_malloc(buffer->offset + 1);
@ -1204,7 +1204,7 @@ static unsigned char *print_array(const cJSON * const item, const size_t depth,
{ {
return NULL; return NULL;
} }
output_buffer->offset = update(output_buffer); update_offset(output_buffer);
if (current_element->next) if (current_element->next)
{ {
length = format ? 2 : 1; length = format ? 2 : 1;
@ -1416,7 +1416,7 @@ static unsigned char *print_object(const cJSON *item, size_t depth, cjbool fmt,
{ {
return NULL; return NULL;
} }
p->offset = update(p); update_offset(p);
len = fmt ? 2 : 1; len = fmt ? 2 : 1;
ptr = ensure(p, len); ptr = ensure(p, len);
@ -1436,7 +1436,7 @@ static unsigned char *print_object(const cJSON *item, size_t depth, cjbool fmt,
{ {
return NULL; return NULL;
} }
p->offset = update(p); update_offset(p);
/* print comma if not last */ /* print comma if not last */
len = (size_t) (fmt ? 1 : 0) + (child->next ? 1 : 0); len = (size_t) (fmt ? 1 : 0) + (child->next ? 1 : 0);