mirror of
https://github.com/DaveGamble/cJSON.git
synced 2024-12-27 14:14:07 +08:00
added Print function call for pre-allocated buffer
This commit is contained in:
parent
d0a9f46888
commit
23dafa4739
10
cJSON.c
10
cJSON.c
@ -886,6 +886,16 @@ char *cJSON_PrintBuffered(const cJSON *item, int prebuffer, cjbool fmt)
|
|||||||
return print_value(item, 0, fmt, &p);
|
return print_value(item, 0, fmt, &p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int cJSON_PrintMallocedBuffer(cJSON *item,char *buf,const int len, cjbool fmt)
|
||||||
|
{
|
||||||
|
char *out;
|
||||||
|
printbuffer p;
|
||||||
|
p.buffer = buf;
|
||||||
|
p.length = len;
|
||||||
|
p.offset = 0;
|
||||||
|
out = print_value(item,0,fmt,&p);
|
||||||
|
return (out != buf ? -1 : 0);
|
||||||
|
}
|
||||||
|
|
||||||
/* Parser core - when encountering text, process appropriately. */
|
/* Parser core - when encountering text, process appropriately. */
|
||||||
static const char *parse_value(cJSON *item, const char *value, const char **ep)
|
static const char *parse_value(cJSON *item, const char *value, const char **ep)
|
||||||
|
2
cJSON.h
2
cJSON.h
@ -83,6 +83,8 @@ extern char *cJSON_Print(const cJSON *item);
|
|||||||
extern char *cJSON_PrintUnformatted(const cJSON *item);
|
extern char *cJSON_PrintUnformatted(const cJSON *item);
|
||||||
/* Render a cJSON entity to text using a buffered strategy. prebuffer is a guess at the final size. guessing well reduces reallocation. fmt=0 gives unformatted, =1 gives formatted */
|
/* Render a cJSON entity to text using a buffered strategy. prebuffer is a guess at the final size. guessing well reduces reallocation. fmt=0 gives unformatted, =1 gives formatted */
|
||||||
extern char *cJSON_PrintBuffered(const cJSON *item, int prebuffer, int fmt);
|
extern char *cJSON_PrintBuffered(const cJSON *item, int prebuffer, int fmt);
|
||||||
|
/* Render a cJSON entity to text using a buffer already allocated in memory with length buf_len */
|
||||||
|
extern int cJSON_PrintMallocedBuffer(cJSON *item, char *buf, const int len, int fmt);
|
||||||
/* Delete a cJSON entity and all subentities. */
|
/* Delete a cJSON entity and all subentities. */
|
||||||
extern void cJSON_Delete(cJSON *c);
|
extern void cJSON_Delete(cJSON *c);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user