Rename json_{load,dump} to json_{load,dump}_file
This commit is contained in:
parent
b348519e96
commit
f41e380984
28
src/dump.c
28
src/dump.c
@ -225,20 +225,6 @@ static int do_dump(const json_t *json, uint32_t flags, int depth,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int json_dump(const json_t *json, const char *path, uint32_t flags)
|
|
||||||
{
|
|
||||||
int result;
|
|
||||||
|
|
||||||
FILE *output = fopen(path, "w");
|
|
||||||
if(!output)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
result = json_dumpf(json, output, flags);
|
|
||||||
|
|
||||||
fclose(output);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
char *json_dumps(const json_t *json, uint32_t flags)
|
char *json_dumps(const json_t *json, uint32_t flags)
|
||||||
{
|
{
|
||||||
strbuffer_t strbuff;
|
strbuffer_t strbuff;
|
||||||
@ -265,3 +251,17 @@ int json_dumpf(const json_t *json, FILE *output, uint32_t flags)
|
|||||||
return -1;
|
return -1;
|
||||||
return dump_to_file("\n", 1, (void *)output);
|
return dump_to_file("\n", 1, (void *)output);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int json_dump_file(const json_t *json, const char *path, uint32_t flags)
|
||||||
|
{
|
||||||
|
int result;
|
||||||
|
|
||||||
|
FILE *output = fopen(path, "w");
|
||||||
|
if(!output)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
result = json_dumpf(json, output, flags);
|
||||||
|
|
||||||
|
fclose(output);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
@ -93,14 +93,14 @@ typedef struct {
|
|||||||
int line;
|
int line;
|
||||||
} json_error_t;
|
} json_error_t;
|
||||||
|
|
||||||
json_t *json_load(const char *path, json_error_t *error);
|
|
||||||
json_t *json_loads(const char *input, json_error_t *error);
|
json_t *json_loads(const char *input, json_error_t *error);
|
||||||
json_t *json_loadf(FILE *input, json_error_t *error);
|
json_t *json_loadf(FILE *input, json_error_t *error);
|
||||||
|
json_t *json_load_file(const char *path, json_error_t *error);
|
||||||
|
|
||||||
#define JSON_INDENT(n) (n & 0xFF)
|
#define JSON_INDENT(n) (n & 0xFF)
|
||||||
|
|
||||||
int json_dump(const json_t *json, const char *path, uint32_t flags);
|
|
||||||
char *json_dumps(const json_t *json, uint32_t flags);
|
char *json_dumps(const json_t *json, uint32_t flags);
|
||||||
int json_dumpf(const json_t *json, FILE *output, uint32_t flags);
|
int json_dumpf(const json_t *json, FILE *output, uint32_t flags);
|
||||||
|
int json_dump_file(const json_t *json, const char *path, uint32_t flags);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
38
src/load.c
38
src/load.c
@ -734,25 +734,6 @@ json_t *parse_json(lex_t *lex, json_error_t *error)
|
|||||||
return parse_value(lex, error);
|
return parse_value(lex, error);
|
||||||
}
|
}
|
||||||
|
|
||||||
json_t *json_load(const char *path, json_error_t *error)
|
|
||||||
{
|
|
||||||
json_t *result;
|
|
||||||
FILE *fp;
|
|
||||||
|
|
||||||
fp = fopen(path, "r");
|
|
||||||
if(!fp)
|
|
||||||
{
|
|
||||||
error_set(error, NULL, "unable to open %s: %s",
|
|
||||||
path, strerror(errno));
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = json_loadf(fp, error);
|
|
||||||
|
|
||||||
fclose(fp);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
const char *data;
|
const char *data;
|
||||||
@ -821,3 +802,22 @@ json_t *json_loadf(FILE *input, json_error_t *error)
|
|||||||
lex_close(&lex);
|
lex_close(&lex);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
json_t *json_load_file(const char *path, json_error_t *error)
|
||||||
|
{
|
||||||
|
json_t *result;
|
||||||
|
FILE *fp;
|
||||||
|
|
||||||
|
fp = fopen(path, "r");
|
||||||
|
if(!fp)
|
||||||
|
{
|
||||||
|
error_set(error, NULL, "unable to open %s: %s",
|
||||||
|
path, strerror(errno));
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
result = json_loadf(fp, error);
|
||||||
|
|
||||||
|
fclose(fp);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
2
test/.gitignore
vendored
2
test/.gitignore
vendored
@ -1,4 +1,4 @@
|
|||||||
load_dump
|
|
||||||
loadf_dumpf
|
loadf_dumpf
|
||||||
loads_dumps
|
loads_dumps
|
||||||
|
load_file_dump_file
|
||||||
testlogs
|
testlogs
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
check_PROGRAMS = load_dump loadf_dumpf loads_dumps
|
check_PROGRAMS = loadf_dumpf loads_dumps load_file_dump_file
|
||||||
|
|
||||||
AM_CPPFLAGS = -I$(top_srcdir)/src
|
AM_CPPFLAGS = -I$(top_srcdir)/src
|
||||||
AM_CFLAGS = -Wall -Werror
|
AM_CFLAGS = -Wall -Werror
|
||||||
|
@ -11,13 +11,13 @@ int main(int argc, char *argv[])
|
|||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
json = json_load(argv[1], &error);
|
json = json_load_file(argv[1], &error);
|
||||||
if(!json) {
|
if(!json) {
|
||||||
fprintf(stderr, "%d\n%s\n", error.line, error.text);
|
fprintf(stderr, "%d\n%s\n", error.line, error.text);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
json_dump(json, argv[2], 0);
|
json_dump_file(json, argv[2], 0);
|
||||||
json_decref(json);
|
json_decref(json);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
@ -8,7 +8,7 @@ run_testprog() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
case "$prog" in
|
case "$prog" in
|
||||||
load_dump)
|
load_file_dump_file)
|
||||||
$runner./$prog \
|
$runner./$prog \
|
||||||
$prefix.in \
|
$prefix.in \
|
||||||
$prefix.$prog.stdout \
|
$prefix.$prog.stdout \
|
||||||
@ -41,9 +41,9 @@ for testfile in $TESTFILES; do
|
|||||||
tmpdir="testlogs/`basename $testfile`"
|
tmpdir="testlogs/`basename $testfile`"
|
||||||
mkdir -p $tmpdir
|
mkdir -p $tmpdir
|
||||||
${srcdir}/split-testfile.py $testfile $tmpdir | while read name; do
|
${srcdir}/split-testfile.py $testfile $tmpdir | while read name; do
|
||||||
run_test load_dump $tmpdir/$name
|
|
||||||
run_test loadf_dumpf $tmpdir/$name
|
run_test loadf_dumpf $tmpdir/$name
|
||||||
run_test loads_dumps $tmpdir/$name
|
run_test loads_dumps $tmpdir/$name
|
||||||
|
run_test load_file_dump_file $tmpdir/$name
|
||||||
echo -n '.'
|
echo -n '.'
|
||||||
done || exit 1
|
done || exit 1
|
||||||
echo
|
echo
|
||||||
|
Loading…
Reference in New Issue
Block a user