#include "ultrajson.h"
#include <stdio.h>
#include <assert.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <float.h>
Go to the source code of this file.
Defines | |
#define | Buffer_AppendCharUnchecked(__enc, __chr) *((__enc)->offset++) = __chr; \ |
#define | Buffer_Reserve(__enc, __len) |
#define | FALSE 0 |
#define | TRUE 1 |
Functions | |
int | Buffer_AppendDoubleUnchecked (JSOBJ obj, JSONObjectEncoder *enc, double value) |
void | Buffer_AppendIntUnchecked (JSONObjectEncoder *enc, JSINT32 value) |
void | Buffer_AppendLongUnchecked (JSONObjectEncoder *enc, JSINT64 value) |
FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC | Buffer_AppendShortHexUnchecked (char *outputOffset, unsigned short value) |
int | Buffer_EscapeStringUnvalidated (JSOBJ obj, JSONObjectEncoder *enc, const char *io, const char *end) |
int | Buffer_EscapeStringValidated (JSOBJ obj, JSONObjectEncoder *enc, const char *io, const char *end) |
void | Buffer_Realloc (JSONObjectEncoder *enc, size_t cbNeeded) |
void | encode (JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t cbName) |
char * | JSON_EncodeObject (JSOBJ obj, JSONObjectEncoder *enc, char *_buffer, size_t _cbBuffer) |
static void | SetError (JSOBJ obj, JSONObjectEncoder *enc, const char *message) |
FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC | strreverse (char *begin, char *end) |
Variables | |
static const JSUINT8 | g_asciiOutputTable [256] |
static const char | g_escapeChars [] = "0123456789\\b\\t\\n\\f\\r\\\"\\\\\\/" |
static const char | g_hexChars [] = "0123456789abcdef" |
static const double | g_pow10 [] = {1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000, 10000000000, 100000000000, 1000000000000, 10000000000000, 100000000000000, 1000000000000000} |
#define Buffer_AppendCharUnchecked | ( | __enc, | |
__chr | |||
) | *((__enc)->offset++) = __chr; \ |
Definition at line 422 of file ultrajsonenc.c.
#define Buffer_Reserve | ( | __enc, | |
__len | |||
) |
if ((__enc)->end - (__enc)->offset < (__len)) \ { \ Buffer_Realloc((__enc), (__len));\ } \
Definition at line 415 of file ultrajsonenc.c.
Definition at line 47 of file ultrajsonenc.c.
Definition at line 44 of file ultrajsonenc.c.
int Buffer_AppendDoubleUnchecked | ( | JSOBJ | obj, |
JSONObjectEncoder * | enc, | ||
double | value | ||
) |
Definition at line 464 of file ultrajsonenc.c.
void Buffer_AppendIntUnchecked | ( | JSONObjectEncoder * | enc, |
JSINT32 | value | ||
) |
Definition at line 432 of file ultrajsonenc.c.
void Buffer_AppendLongUnchecked | ( | JSONObjectEncoder * | enc, |
JSINT64 | value | ||
) |
Definition at line 448 of file ultrajsonenc.c.
FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC Buffer_AppendShortHexUnchecked | ( | char * | outputOffset, |
unsigned short | value | ||
) |
Definition at line 127 of file ultrajsonenc.c.
int Buffer_EscapeStringUnvalidated | ( | JSOBJ | obj, |
JSONObjectEncoder * | enc, | ||
const char * | io, | ||
const char * | end | ||
) |
Definition at line 135 of file ultrajsonenc.c.
int Buffer_EscapeStringValidated | ( | JSOBJ | obj, |
JSONObjectEncoder * | enc, | ||
const char * | io, | ||
const char * | end | ||
) |
Definition at line 221 of file ultrajsonenc.c.
void Buffer_Realloc | ( | JSONObjectEncoder * | enc, |
size_t | cbNeeded | ||
) |
Definition at line 91 of file ultrajsonenc.c.
void encode | ( | JSOBJ | obj, |
JSONObjectEncoder * | enc, | ||
const char * | name, | ||
size_t | cbName | ||
) |
Definition at line 617 of file ultrajsonenc.c.
char* JSON_EncodeObject | ( | JSOBJ | obj, |
JSONObjectEncoder * | enc, | ||
char * | _buffer, | ||
size_t | _cbBuffer | ||
) |
Definition at line 836 of file ultrajsonenc.c.
static void SetError | ( | JSOBJ | obj, |
JSONObjectEncoder * | enc, | ||
const char * | message | ||
) | [static] |
Definition at line 82 of file ultrajsonenc.c.
FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC strreverse | ( | char * | begin, |
char * | end | ||
) |
Definition at line 425 of file ultrajsonenc.c.
const JSUINT8 g_asciiOutputTable[256] [static] |
{ 0, 30, 30, 30, 30, 30, 30, 30, 10, 12, 14, 30, 16, 18, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 1, 1, 20, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 24, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 1, 1 }
Definition at line 61 of file ultrajsonenc.c.
const char g_escapeChars[] = "0123456789\\b\\t\\n\\f\\r\\\"\\\\\\/" [static] |
Definition at line 52 of file ultrajsonenc.c.
const char g_hexChars[] = "0123456789abcdef" [static] |
Definition at line 51 of file ultrajsonenc.c.
const double g_pow10[] = {1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000, 10000000000, 100000000000, 1000000000000, 10000000000000, 100000000000000, 1000000000000000} [static] |
Definition at line 50 of file ultrajsonenc.c.