mirror of
https://github.com/json-c/json-c.git
synced 2026-04-07 22:39:08 +08:00
Fix some Windows compile issues, add JSON_EXPORT's, fix bogus character escapes, define __func__ and omit unistd.h if needed.
This commit is contained in:
20
debug.h
20
debug.h
@@ -23,14 +23,22 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern void mc_set_debug(int debug);
|
#ifndef JSON_EXPORT
|
||||||
extern int mc_get_debug(void);
|
#if defined(_MSC_VER)
|
||||||
|
#define JSON_EXPORT __declspec(dllexport)
|
||||||
|
#else
|
||||||
|
#define JSON_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
extern void mc_set_syslog(int syslog);
|
JSON_EXPORT void mc_set_debug(int debug);
|
||||||
|
JSON_EXPORT int mc_get_debug(void);
|
||||||
|
|
||||||
extern void mc_debug(const char *msg, ...);
|
JSON_EXPORT void mc_set_syslog(int syslog);
|
||||||
extern void mc_error(const char *msg, ...);
|
|
||||||
extern void mc_info(const char *msg, ...);
|
JSON_EXPORT void mc_debug(const char *msg, ...);
|
||||||
|
JSON_EXPORT void mc_error(const char *msg, ...);
|
||||||
|
JSON_EXPORT void mc_info(const char *msg, ...);
|
||||||
|
|
||||||
#ifndef __STRING
|
#ifndef __STRING
|
||||||
#define __STRING(x) #x
|
#define __STRING(x) #x
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ static int json_escape_str(struct printbuf *pb, const char *str, int len, int fl
|
|||||||
|
|
||||||
/* reference counting */
|
/* reference counting */
|
||||||
|
|
||||||
extern struct json_object* json_object_get(struct json_object *jso)
|
struct json_object* json_object_get(struct json_object *jso)
|
||||||
{
|
{
|
||||||
if (!jso) return jso;
|
if (!jso) return jso;
|
||||||
|
|
||||||
|
|||||||
@@ -351,7 +351,7 @@ JSON_EXPORT void json_object_set_serializer(json_object *jso,
|
|||||||
* @param jso unused
|
* @param jso unused
|
||||||
* @param userdata the pointer that is passed to free().
|
* @param userdata the pointer that is passed to free().
|
||||||
*/
|
*/
|
||||||
json_object_delete_fn json_object_free_userdata;
|
JSON_EXPORT json_object_delete_fn json_object_free_userdata;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copy the jso->_userdata string over to pb as-is.
|
* Copy the jso->_userdata string over to pb as-is.
|
||||||
@@ -362,7 +362,7 @@ json_object_delete_fn json_object_free_userdata;
|
|||||||
* @param level Ignored.
|
* @param level Ignored.
|
||||||
* @param flags Ignored.
|
* @param flags Ignored.
|
||||||
*/
|
*/
|
||||||
json_object_to_json_string_fn json_object_userdata_to_json_string;
|
JSON_EXPORT json_object_to_json_string_fn json_object_userdata_to_json_string;
|
||||||
|
|
||||||
#ifdef __clang__
|
#ifdef __clang__
|
||||||
/* } */
|
/* } */
|
||||||
@@ -825,7 +825,7 @@ JSON_EXPORT struct json_object* json_object_new_double_s(double d, const char *d
|
|||||||
*
|
*
|
||||||
* @return -1 on errors, 0 on success.
|
* @return -1 on errors, 0 on success.
|
||||||
*/
|
*/
|
||||||
int json_c_set_serialization_double_format(const char *double_format, int global_or_thread);
|
JSON_EXPORT int json_c_set_serialization_double_format(const char *double_format, int global_or_thread);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1013,7 +1013,7 @@ typedef int (json_c_shallow_copy_fn)(json_object *src, json_object *parent, cons
|
|||||||
*
|
*
|
||||||
* @return 1 on success, -1 on errors, but never 2.
|
* @return 1 on success, -1 on errors, but never 2.
|
||||||
*/
|
*/
|
||||||
json_c_shallow_copy_fn json_c_shallow_copy_default;
|
JSON_EXPORT json_c_shallow_copy_fn json_c_shallow_copy_default;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copy the contents of the JSON object.
|
* Copy the contents of the JSON object.
|
||||||
|
|||||||
@@ -128,7 +128,9 @@ retry:
|
|||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <unistd.h>
|
#if HAVE_UNISTD_H
|
||||||
|
# include <unistd.h>
|
||||||
|
#endif /* HAVE_UNISTD_H */
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Used by tests to get consistent output */
|
/* Used by tests to get consistent output */
|
||||||
extern int _json_c_strerror_enable;
|
JSON_EXPORT int _json_c_strerror_enable;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ static const char *input_json_str = "{ "
|
|||||||
"'foo': ['bar', 'baz'], "
|
"'foo': ['bar', 'baz'], "
|
||||||
"'': 0, "
|
"'': 0, "
|
||||||
"'a/b': 1, "
|
"'a/b': 1, "
|
||||||
"'c\%d': 2, "
|
"'c%d': 2, "
|
||||||
"'e^f': 3, "
|
"'e^f': 3, "
|
||||||
"'g|h': 4, "
|
"'g|h': 4, "
|
||||||
"'i\\\\j': 5, "
|
"'i\\\\j': 5, "
|
||||||
@@ -238,7 +238,7 @@ static void test_example_set()
|
|||||||
assert(0 == json_pointer_set(&jo1, "/", json_object_new_int(9)));
|
assert(0 == json_pointer_set(&jo1, "/", json_object_new_int(9)));
|
||||||
printf("PASSED - SET - / == 9\n");
|
printf("PASSED - SET - / == 9\n");
|
||||||
|
|
||||||
jo2 = json_tokener_parse("{ 'foo': [ 'bar', 'cod' ], '': 9, 'a/b': 1, 'c\%d': 2, 'e^f': 3, 'g|h': 4, 'i\\\\j': 5, 'k\\\"l': 6, ' ': 7, 'm~n': 8, 'fud': { 'gaw': [ 0, 2, 3, 4 ] } }");
|
jo2 = json_tokener_parse("{ 'foo': [ 'bar', 'cod' ], '': 9, 'a/b': 1, 'c%d': 2, 'e^f': 3, 'g|h': 4, 'i\\\\j': 5, 'k\\\"l': 6, ' ': 7, 'm~n': 8, 'fud': { 'gaw': [ 0, 2, 3, 4 ] } }");
|
||||||
assert(json_object_equal(jo2, jo1));
|
assert(json_object_equal(jo2, jo1));
|
||||||
printf("PASSED - SET - Final JSON is: %s\n", json_object_get_string(jo1));
|
printf("PASSED - SET - Final JSON is: %s\n", json_object_get_string(jo1));
|
||||||
json_object_put(jo2);
|
json_object_put(jo2);
|
||||||
|
|||||||
@@ -11,6 +11,11 @@
|
|||||||
static void test_basic_printbuf_memset(void);
|
static void test_basic_printbuf_memset(void);
|
||||||
static void test_printbuf_memset_length(void);
|
static void test_printbuf_memset_length(void);
|
||||||
|
|
||||||
|
#ifndef __func__
|
||||||
|
/* VC++ compat */
|
||||||
|
#define __func__ __FUNCTION__
|
||||||
|
#endif
|
||||||
|
|
||||||
static void test_basic_printbuf_memset()
|
static void test_basic_printbuf_memset()
|
||||||
{
|
{
|
||||||
struct printbuf *pb;
|
struct printbuf *pb;
|
||||||
@@ -158,7 +163,7 @@ int main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
int before_resize = 0;
|
int before_resize = 0;
|
||||||
|
|
||||||
mc_set_debug(1);
|
MC_SET_DEBUG(1);
|
||||||
|
|
||||||
test_basic_printbuf_memset();
|
test_basic_printbuf_memset();
|
||||||
printf("========================================\n");
|
printf("========================================\n");
|
||||||
|
|||||||
@@ -6,7 +6,9 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <unistd.h>
|
#if HAVE_UNISTD_H
|
||||||
|
# include <unistd.h>
|
||||||
|
#endif /* HAVE_UNISTD_H */
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user