Lines Matching refs:buf

170 static void json_escape_string(smart_str *buf, char *s, int len, int options TSRMLS_DC);
209 static inline void json_pretty_print_char(smart_str *buf, int options, char c TSRMLS_DC) /* {{{ */ in json_pretty_print_char() argument
212 smart_str_appendc(buf, c); in json_pretty_print_char()
217 static inline void json_pretty_print_indent(smart_str *buf, int options TSRMLS_DC) /* {{{ */ in json_pretty_print_indent() argument
223 smart_str_appendl(buf, " ", 4); in json_pretty_print_indent()
231 static void json_encode_array(smart_str *buf, zval **val, int options TSRMLS_DC) /* {{{ */ in json_encode_array() argument
246 smart_str_appendl(buf, "null", 4); in json_encode_array()
251 smart_str_appendc(buf, '['); in json_encode_array()
253 smart_str_appendc(buf, '{'); in json_encode_array()
283 smart_str_appendc(buf, ','); in json_encode_array()
288 json_pretty_print_char(buf, options, '\n' TSRMLS_CC); in json_encode_array()
289 json_pretty_print_indent(buf, options TSRMLS_CC); in json_encode_array()
290 php_json_encode(buf, *data, options TSRMLS_CC); in json_encode_array()
302 smart_str_appendc(buf, ','); in json_encode_array()
307 json_pretty_print_char(buf, options, '\n' TSRMLS_CC); in json_encode_array()
308 json_pretty_print_indent(buf, options TSRMLS_CC); in json_encode_array()
310 json_escape_string(buf, key, key_len - 1, options & ~PHP_JSON_NUMERIC_CHECK TSRMLS_CC); in json_encode_array()
311 smart_str_appendc(buf, ':'); in json_encode_array()
313 json_pretty_print_char(buf, options, ' ' TSRMLS_CC); in json_encode_array()
315 php_json_encode(buf, *data, options TSRMLS_CC); in json_encode_array()
318 smart_str_appendc(buf, ','); in json_encode_array()
323 json_pretty_print_char(buf, options, '\n' TSRMLS_CC); in json_encode_array()
324 json_pretty_print_indent(buf, options TSRMLS_CC); in json_encode_array()
326 smart_str_appendc(buf, '"'); in json_encode_array()
327 smart_str_append_long(buf, (long) index); in json_encode_array()
328 smart_str_appendc(buf, '"'); in json_encode_array()
329 smart_str_appendc(buf, ':'); in json_encode_array()
331 json_pretty_print_char(buf, options, ' ' TSRMLS_CC); in json_encode_array()
333 php_json_encode(buf, *data, options TSRMLS_CC); in json_encode_array()
351 json_pretty_print_char(buf, options, '\n' TSRMLS_CC); in json_encode_array()
352 json_pretty_print_indent(buf, options TSRMLS_CC); in json_encode_array()
356 smart_str_appendc(buf, ']'); in json_encode_array()
358 smart_str_appendc(buf, '}'); in json_encode_array()
401 static void json_escape_string(smart_str *buf, char *s, int len, int options TSRMLS_DC) /* {{{ */ in json_escape_string() argument
409 smart_str_appendl(buf, "\"\"", 2); in json_escape_string()
420 smart_str_append_long(buf, p); in json_escape_string()
425 smart_str_appendl(buf, tmp, l); in json_escape_string()
441 smart_str_appendl(buf, "null", 4); in json_escape_string()
443 smart_str_appendl(buf, "\"\"", 2); in json_escape_string()
452 smart_str_alloc(buf, len+2, 0); in json_escape_string()
453 smart_str_appendc(buf, '"'); in json_escape_string()
463 smart_str_appendl(buf, "\\u0022", 6); in json_escape_string()
465 smart_str_appendl(buf, "\\\"", 2); in json_escape_string()
470 smart_str_appendl(buf, "\\\\", 2); in json_escape_string()
475 smart_str_appendc(buf, '/'); in json_escape_string()
477 smart_str_appendl(buf, "\\/", 2); in json_escape_string()
482 smart_str_appendl(buf, "\\b", 2); in json_escape_string()
486 smart_str_appendl(buf, "\\f", 2); in json_escape_string()
490 smart_str_appendl(buf, "\\n", 2); in json_escape_string()
494 smart_str_appendl(buf, "\\r", 2); in json_escape_string()
498 smart_str_appendl(buf, "\\t", 2); in json_escape_string()
503 smart_str_appendl(buf, "\\u003C", 6); in json_escape_string()
505 smart_str_appendc(buf, '<'); in json_escape_string()
511 smart_str_appendl(buf, "\\u003E", 6); in json_escape_string()
513 smart_str_appendc(buf, '>'); in json_escape_string()
519 smart_str_appendl(buf, "\\u0026", 6); in json_escape_string()
521 smart_str_appendc(buf, '&'); in json_escape_string()
527 smart_str_appendl(buf, "\\u0027", 6); in json_escape_string()
529 smart_str_appendc(buf, '\''); in json_escape_string()
535 smart_str_appendc(buf, (unsigned char) us); in json_escape_string()
537 smart_str_appendl(buf, "\\u", 2); in json_escape_string()
538 smart_str_appendc(buf, digits[(us & 0xf000) >> 12]); in json_escape_string()
539 smart_str_appendc(buf, digits[(us & 0xf00) >> 8]); in json_escape_string()
540 smart_str_appendc(buf, digits[(us & 0xf0) >> 4]); in json_escape_string()
541 smart_str_appendc(buf, digits[(us & 0xf)]); in json_escape_string()
547 smart_str_appendc(buf, '"'); in json_escape_string()
555 static void json_encode_serializable_object(smart_str *buf, zval *val, int options TSRMLS_DC) /* {{… in json_encode_serializable_object() argument
569 smart_str_appendl(buf, "null", 4); in json_encode_serializable_object()
577 smart_str_appendl(buf, "null", sizeof("null") - 1); in json_encode_serializable_object()
584 smart_str_appendl(buf, "null", sizeof("null") - 1); in json_encode_serializable_object()
591 json_encode_array(buf, &retval, options TSRMLS_CC); in json_encode_serializable_object()
594 php_json_encode(buf, retval, options TSRMLS_CC); in json_encode_serializable_object()
601 PHP_JSON_API void php_json_encode(smart_str *buf, zval *val, int options TSRMLS_DC) /* {{{ */ in php_json_encode() argument
606 smart_str_appendl(buf, "null", 4); in php_json_encode()
611 smart_str_appendl(buf, "true", 4); in php_json_encode()
613 smart_str_appendl(buf, "false", 5); in php_json_encode()
618 smart_str_append_long(buf, Z_LVAL_P(val)); in php_json_encode()
629 smart_str_appendl(buf, d, len); in php_json_encode()
633 smart_str_appendc(buf, '0'); in php_json_encode()
639 json_escape_string(buf, Z_STRVAL_P(val), Z_STRLEN_P(val), options TSRMLS_CC); in php_json_encode()
644 json_encode_serializable_object(buf, val, options TSRMLS_CC); in php_json_encode()
649 json_encode_array(buf, &val, options TSRMLS_CC); in php_json_encode()
654 smart_str_appendl(buf, "null", 4); in php_json_encode()
776 smart_str buf = {0}; in PHP_FUNCTION() local
788 php_json_encode(&buf, parameter, options TSRMLS_CC); in PHP_FUNCTION()
793 ZVAL_STRINGL(return_value, buf.c, buf.len, 1); in PHP_FUNCTION()
796 smart_str_free(&buf); in PHP_FUNCTION()