projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
datapath: Add a find the kernel source directory for Debian 2.6.32+.
[openvswitch]
/
tests
/
test-json.c
diff --git
a/tests/test-json.c
b/tests/test-json.c
index bb9fadb0641231d34034a346a8e5d87aff9b9220..28b0edf19e0088a3d8a907aa9da942ef9bb8fb0e 100644
(file)
--- a/
tests/test-json.c
+++ b/
tests/test-json.c
@@
-67,23
+67,17
@@
refill(FILE *file, void *buffer, size_t buffer_size, size_t *n, size_t *used)
}
static bool
}
static bool
-parse_multiple(
const char *input_file
)
+parse_multiple(
FILE *stream
)
{
struct json_parser *parser;
char buffer[BUFSIZ];
size_t n, used;
{
struct json_parser *parser;
char buffer[BUFSIZ];
size_t n, used;
- FILE *file;
bool ok;
bool ok;
- file = fopen(input_file, "r");
- if (!file) {
- ovs_fatal(errno, "Cannot open \"%s\"", input_file);
- }
-
parser = NULL;
n = used = 0;
ok = true;
parser = NULL;
n = used = 0;
ok = true;
- while (used < n || refill(
file
, buffer, sizeof buffer, &n, &used)) {
+ while (used < n || refill(
stream
, buffer, sizeof buffer, &n, &used)) {
if (!parser && isspace((unsigned char) buffer[used])) {
/* Skip white space. */
used++;
if (!parser && isspace((unsigned char) buffer[used])) {
/* Skip white space. */
used++;
@@
-92,7
+86,7
@@
parse_multiple(const char *input_file)
parser = json_parser_create(0);
}
parser = json_parser_create(0);
}
- used
= n -
json_parser_feed(parser, &buffer[used], n - used);
+ used
+=
json_parser_feed(parser, &buffer[used], n - used);
if (used < n) {
if (!print_and_free_json(json_parser_finish(parser))) {
ok = false;
if (used < n) {
if (!print_and_free_json(json_parser_finish(parser))) {
ok = false;
@@
-113,6
+107,7
@@
int
main(int argc, char *argv[])
{
const char *input_file;
main(int argc, char *argv[])
{
const char *input_file;
+ FILE *stream;
bool ok;
set_program_name(argv[0]);
bool ok;
set_program_name(argv[0]);
@@
-146,14
+141,15
@@
main(int argc, char *argv[])
}
input_file = argv[optind];
}
input_file = argv[optind];
- if (!strcmp(input_file, "-")) {
- input_file = "/dev/stdin";
+ stream = !strcmp(input_file, "-") ? stdin : fopen(input_file, "r");
+ if (!stream) {
+ ovs_fatal(errno, "Cannot open \"%s\"", input_file);
}
if (multiple) {
}
if (multiple) {
- ok = parse_multiple(
input_file
);
+ ok = parse_multiple(
stream
);
} else {
} else {
- ok = print_and_free_json(json_from_
file(input_file
));
+ ok = print_and_free_json(json_from_
stream(stream
));
}
return !ok;
}
return !ok;