projects
/
project
/
libubox.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
jshn: add an option for printing the json data without a terminating newline
[project/libubox.git]
/
jshn.c
diff --git
a/jshn.c
b/jshn.c
index
a2d711f
..
e2f0b83
100644
(file)
--- a/
jshn.c
+++ b/
jshn.c
@@
-210,33
+210,38
@@
out:
return obj;
}
return obj;
}
-static int jshn_format(
void
)
+static int jshn_format(
bool no_newline
)
{
json_object *obj;
obj = json_object_new_object();
jshn_add_objects(obj, "JSON_VAR", false);
{
json_object *obj;
obj = json_object_new_object();
jshn_add_objects(obj, "JSON_VAR", false);
- fprintf(stdout, "%s\n", json_object_to_json_string(obj));
+ fprintf(stdout, "%s%s", json_object_to_json_string(obj),
+ no_newline ? "" : "\n");
json_object_put(obj);
return 0;
}
static int usage(const char *progname)
{
json_object_put(obj);
return 0;
}
static int usage(const char *progname)
{
- fprintf(stderr, "Usage: %s -r <message>|-w\n", progname);
+ fprintf(stderr, "Usage: %s
[-n]
-r <message>|-w\n", progname);
return 2;
}
int main(int argc, char **argv)
{
return 2;
}
int main(int argc, char **argv)
{
+ bool no_newline = false;
int ch;
int ch;
- while ((ch = getopt(argc, argv, "r:w")) != -1) {
+ while ((ch = getopt(argc, argv, "
n
r:w")) != -1) {
switch(ch) {
case 'r':
return jshn_parse(optarg);
case 'w':
switch(ch) {
case 'r':
return jshn_parse(optarg);
case 'w':
- return jshn_format();
+ return jshn_format(no_newline);
+ case 'n':
+ no_newline = true;
+ break;
default:
return usage(argv[0]);
}
default:
return usage(argv[0]);
}