]> granicus.if.org Git - jq/commitdiff
Usage messages if jq is run with no arguments.
authorStephen Dolan <mu@netsoc.tcd.ie>
Tue, 18 Sep 2012 22:37:46 +0000 (23:37 +0100)
committerStephen Dolan <mu@netsoc.tcd.ie>
Tue, 18 Sep 2012 22:37:46 +0000 (23:37 +0100)
Beats segfaulting.

main.c

diff --git a/main.c b/main.c
index 776c957559b0ede46d9cbe9d381115b45c9c419f..92a7c652685b69615cc0ec781d8553bbc6f9ed29 100644 (file)
--- a/main.c
+++ b/main.c
@@ -8,7 +8,20 @@
 #include "parser.h"
 #include "execute.h"
 
+static const char* progname;
+
+static void usage() {
+  fprintf(stderr, "\njq - commandline JSON processor\n");
+  fprintf(stderr, "Usage: %s <jq filter>\n\n", progname);
+  fprintf(stderr, "For a description of how to write jq filters and\n");
+  fprintf(stderr, "why you might want to, see the jq documentation at\n");
+  fprintf(stderr, "http://stedolan.github.com/jq\n\n");
+  exit(1);
+}
+
 int main(int argc, char* argv[]) {
+  if (argc) progname = argv[0];
+  if (argc != 2 || !strcmp(argv[1], "--help") || !strcmp(argv[1], "--version")) usage();
   struct bytecode* bc = jq_compile(argv[1]);
   if (!bc) return 1;