]> granicus.if.org Git - jq/log
jq
10 years agoAdd `env` builtin
Nicolas Williams [Fri, 13 Jun 2014 22:51:41 +0000 (17:51 -0500)]
Add `env` builtin

10 years agoDocument the lambda nature of function args #391
Nicolas Williams [Fri, 13 Jun 2014 22:22:43 +0000 (17:22 -0500)]
Document the lambda nature of function args #391

10 years agoAutomatically update jq.1.prebuilt
Nicolas Williams [Fri, 13 Jun 2014 22:22:17 +0000 (17:22 -0500)]
Automatically update jq.1.prebuilt

10 years agoAdd jqplay link to the site
Nicolas Williams [Fri, 13 Jun 2014 22:21:56 +0000 (17:21 -0500)]
Add jqplay link to the site

10 years agojqplay has a domain now 408/head
Jingwen Owen Ou [Fri, 13 Jun 2014 01:17:39 +0000 (18:17 -0700)]
jqplay has a domain now

10 years agoAdd links to Solaris 11+ executables
Nicolas Williams [Fri, 13 Jun 2014 00:26:05 +0000 (19:26 -0500)]
Add links to Solaris 11+ executables

10 years agoInclude links to 1.3 executables in gh-pages
Nicolas Williams [Thu, 12 Jun 2014 22:30:30 +0000 (17:30 -0500)]
Include links to 1.3 executables in gh-pages

10 years agoMake a better jq.1 when Ruby deps missing
Nicolas Williams [Thu, 12 Jun 2014 22:30:09 +0000 (17:30 -0500)]
Make a better jq.1 when Ruby deps missing

10 years agoMerge pull request #400 from kdeme/master
Nico Williams [Thu, 12 Jun 2014 20:55:41 +0000 (15:55 -0500)]
Merge pull request #400 from kdeme/master

Heuristic IEEE754 endianness autoconf detection

Use AC_C_BIGENDIAN, though it's not really the correct approach.  Autoconf ought to have provided a test specifically for IEEE754 endianness, since it can differ from integer/pointer endianness!

10 years agoDetect endianness at configuration with Autoconf AC_C_BIGENDIAN feature 400/head
Kim De Mey [Wed, 11 Jun 2014 08:37:32 +0000 (10:37 +0200)]
Detect endianness at configuration with Autoconf AC_C_BIGENDIAN feature

10 years agoAdd lib.h to dist file list jq-1.4
Nicolas Williams [Mon, 9 Jun 2014 23:58:46 +0000 (18:58 -0500)]
Add lib.h to dist file list

10 years agoMake the note about shell quoting appear on site
Nicolas Williams [Mon, 9 Jun 2014 22:43:17 +0000 (17:43 -0500)]
Make the note about shell quoting appear on site

10 years agoAdd note about cmd.exe quoting
Nicolas Williams [Mon, 9 Jun 2014 15:22:55 +0000 (10:22 -0500)]
Add note about cmd.exe quoting

10 years agoBuilding docs fails on powerpc (#349)
Nicolas Williams [Mon, 9 Jun 2014 14:39:02 +0000 (09:39 -0500)]
Building docs fails on powerpc (#349)

Thanks @shym!!

10 years agoUpdate site news
Nicolas Williams [Mon, 9 Jun 2014 01:45:06 +0000 (20:45 -0500)]
Update site news

10 years agoAlso fix configure.ac to use git describe --tags
Nicolas Williams [Mon, 9 Jun 2014 00:36:06 +0000 (19:36 -0500)]
Also fix configure.ac to use git describe --tags

10 years agoFix scripts/version: use git describe --tags ...
Nicolas Williams [Mon, 9 Jun 2014 00:31:21 +0000 (19:31 -0500)]
Fix scripts/version: use git describe --tags ...

After tagging as 1.4 scripts/version was still producing jq-1.3-....

10 years agoAdd test of `indices` with short input
Nicolas Williams [Sun, 8 Jun 2014 07:27:27 +0000 (02:27 -0500)]
Add test of `indices` with short input

10 years agoAdd `indices(s)`, improve `index(s)`, `rindex(s)`
Nicolas Williams [Sun, 8 Jun 2014 07:01:44 +0000 (02:01 -0500)]
Add `indices(s)`, improve `index(s)`, `rindex(s)`

Now these deal with arrays as input and `s` being an array or a scalar.

10 years agoImprove `index` and `rindex` examples
Nicolas Williams [Sun, 8 Jun 2014 07:01:21 +0000 (02:01 -0500)]
Improve `index` and `rindex` examples

10 years agoRemove reference to `getpath` from docs
Nicolas Williams [Sun, 8 Jun 2014 06:35:03 +0000 (01:35 -0500)]
Remove reference to `getpath` from docs

10 years agoDocument `index` and `rindex` (#389)
Nicolas Williams [Sun, 8 Jun 2014 05:00:17 +0000 (00:00 -0500)]
Document `index` and `rindex` (#389)

10 years agoAdded `join` function
Santiago Lapresta [Thu, 29 May 2014 22:45:16 +0000 (00:45 +0200)]
Added `join` function

Signed-off-by: Nicolas Williams <nico@cryptonector.com>
10 years agoString * number should be commutative
Nicolas Williams [Sun, 8 Jun 2014 02:43:30 +0000 (21:43 -0500)]
String * number should be commutative

10 years agoAdd cross-compilation notes to README
Nicolas Williams [Wed, 4 Jun 2014 23:29:30 +0000 (18:29 -0500)]
Add cross-compilation notes to README

A detailed set of instruction as to how to setup a cross-compilation
environment for OS X and Win32/64 would be nice.

10 years agoAdd -j option to scripts/crosscompile
Nicolas Williams [Wed, 4 Jun 2014 23:15:44 +0000 (18:15 -0500)]
Add -j option to scripts/crosscompile

10 years agoAdd flags argument to jv_parser_new()
Nicolas Williams [Wed, 4 Jun 2014 23:17:27 +0000 (18:17 -0500)]
Add flags argument to jv_parser_new()

For extensibility.  We might add streaming parser options, even binary
JSON encoding options.

10 years agoRevert "Add -I / --online-input for huge top-level arrays"
Nicolas Williams [Wed, 4 Jun 2014 23:01:47 +0000 (18:01 -0500)]
Revert "Add -I / --online-input for huge top-level arrays"

This reverts commit 77936a594d797c480f26bfcef3636a74588a6918.

There are too many odd bugs in this mode, and it turns out to be a bad
idea anyways.  Instead, in the future a better option will be to pursue
alternative parsers, such as:

 - streaming parser that outputs only when a new leaf value is added or
   an array/object is opened/closed; options here include whether to
   include a path in each output;

 - parsers for binary JSON encodings (there's a variety of them).

Then one might run jq with a streaming parser and use `reduce` to
coalesce inputs from some depth down (instead of from one level down as
the reverted commit had intended).

Besides, a fully streaming parser is desirable in some cases, therefore
we should have such a thing as an option.

I've explored modifying the current parser to support a streaming
option, but it only makes the code very difficult to follow, which is
one reason that alternate parsers makes sense.  At any rate, this is all
for the future.  For now there's no streaming of individual texts, just
text sequences.

10 years agoFix tests failures on Windows
Nicolas Williams [Mon, 2 Jun 2014 05:56:01 +0000 (00:56 -0500)]
Fix tests failures on Windows

And Solaris 8 and 9 too, no doubt.  The problem was that non-standard
vsnprintf()s that return -1 when the buffer is too small were not
properly supported.

10 years agoUpdate .gitignore and config/.gitignore
Nicolas Williams [Mon, 2 Jun 2014 03:15:46 +0000 (22:15 -0500)]
Update .gitignore and config/.gitignore

10 years agoMerge pull request #367 from slapresta/del-docs
Nico Williams [Wed, 21 May 2014 03:11:01 +0000 (22:11 -0500)]
Merge pull request #367 from slapresta/del-docs

Documented `del` command

10 years agoDocumented `del` command 367/head
Santiago Lapresta [Tue, 20 May 2014 23:23:28 +0000 (01:23 +0200)]
Documented `del` command

10 years agoMerge pull request #360 from slapresta/275-unique-by
Nico Williams [Mon, 12 May 2014 05:30:55 +0000 (00:30 -0500)]
Merge pull request #360 from slapresta/275-unique-by

unique_by(.foo) function

10 years agoAdded texts/examples to unique_by function 360/head
Santiago Lapresta [Sun, 11 May 2014 23:43:00 +0000 (01:43 +0200)]
Added texts/examples to unique_by function

10 years agoAdded unique_by function
Santiago Lapresta [Sun, 11 May 2014 23:37:27 +0000 (01:37 +0200)]
Added unique_by function

10 years agoMake pthread tls configurable for Mingw build
Nicolas Williams [Fri, 18 Apr 2014 01:17:06 +0000 (20:17 -0500)]
Make pthread tls configurable for Mingw build

For the Mingw build we don't want to pull in the pthread DLL just
because we can autodetect pthread support.  That would make the jq.exe
binary not self-contained.

10 years agoAdd autoconf checks for pthreads; fix #340
Nicolas Williams [Wed, 16 Apr 2014 23:42:36 +0000 (18:42 -0500)]
Add autoconf checks for pthreads; fix #340

10 years agoMerge pull request #332 from jingweno/master
Nico Williams [Fri, 21 Mar 2014 04:47:40 +0000 (23:47 -0500)]
Merge pull request #332 from jingweno/master

Add link to jq playground

10 years agoAdd link to jqplay 332/head
Jingwen Owen Ou [Thu, 20 Mar 2014 22:47:18 +0000 (15:47 -0700)]
Add link to jqplay

10 years agoMerge pull request #176 from pearkes/new-tutorial
Nico Williams [Thu, 13 Mar 2014 05:57:54 +0000 (00:57 -0500)]
Merge pull request #176 from pearkes/new-tutorial

Docs: Update the tutorial to use GitHub's API

10 years agoFix for #303 in the sources
Nicolas Williams [Thu, 13 Mar 2014 05:49:56 +0000 (00:49 -0500)]
Fix for #303 in the sources

10 years agoMerge pull request #278 from polyester/master
Nico Williams [Thu, 13 Mar 2014 05:52:58 +0000 (00:52 -0500)]
Merge pull request #278 from polyester/master

work with newer versions of automake

10 years agoTest `arrays` and friend filters
Nicolas Williams [Thu, 13 Mar 2014 05:27:49 +0000 (00:27 -0500)]
Test `arrays` and friend filters

10 years agoDocument `scalars`
Nicolas Williams [Thu, 13 Mar 2014 05:22:36 +0000 (00:22 -0500)]
Document `scalars`

10 years agoAlso add `scalars`
Nicolas Williams [Thu, 13 Mar 2014 05:16:33 +0000 (00:16 -0500)]
Also add `scalars`

10 years agoDocument `arrays`, `objects`, ...
Nicolas Williams [Thu, 13 Mar 2014 05:19:55 +0000 (00:19 -0500)]
Document `arrays`, `objects`, ...

10 years agoAdded `arrays` and other filters
Santiago Lapresta [Mon, 10 Mar 2014 00:35:44 +0000 (01:35 +0100)]
Added `arrays` and other filters

Arrays, objects, numbers, strings, booleans, nulls, values (non-nulls)
-- these builtins filter out those inputs that don't match the name of
the builtin.

This fixes #322 and #324.

10 years agoOne more recursive merge test
Nicolas Williams [Thu, 13 Mar 2014 04:44:21 +0000 (23:44 -0500)]
One more recursive merge test

10 years agoAdd a recursive object merge strategy and bind it to * 321/head
Filippo Valsorda [Sat, 8 Mar 2014 02:56:05 +0000 (03:56 +0100)]
Add a recursive object merge strategy and bind it to *

This commit adds a jv_object_merge_recursive function, that performs
recursive object merging, and binds it to multiply when applied to
two objects.

Added docs and tests.

Closes #320

10 years agoMake libm tests more portable
Nicolas Williams [Fri, 7 Mar 2014 03:38:10 +0000 (21:38 -0600)]
Make libm tests more portable

10 years agoMerge pull request #310 from arodland/master
Nico Williams [Mon, 3 Mar 2014 19:46:38 +0000 (13:46 -0600)]
Merge pull request #310 from arodland/master

Make jq --raw-output --unbuffered work

10 years agoRepair jv_show 310/head
Andrew Rodland [Wed, 26 Feb 2014 07:43:00 +0000 (01:43 -0600)]
Repair jv_show

10 years agoMake jq --raw-output --unbuffered work
Andrew Rodland [Wed, 26 Feb 2014 07:38:46 +0000 (01:38 -0600)]
Make jq --raw-output --unbuffered work

--unbuffered was only affecting the normal output case, not the --raw-output case. Make the two of them play together.

This also makes sure that the output is flushed *after* printing the newline, so a consumer doesn't lag a line behind.

10 years agoAdd cbrt (cube root)
Nicolas Williams [Fri, 21 Feb 2014 16:51:16 +0000 (10:51 -0600)]
Add cbrt (cube root)

10 years agoAdd missing trig functions and barebones test
Nicolas Williams [Fri, 21 Feb 2014 16:49:21 +0000 (10:49 -0600)]
Add missing trig functions and barebones test

10 years agoRemove non-standard exp10()
Nicolas Williams [Fri, 21 Feb 2014 16:49:10 +0000 (10:49 -0600)]
Remove non-standard exp10()

10 years agoInitial add of math functions. 302/head
Mike McCabe [Fri, 21 Feb 2014 08:46:56 +0000 (08:46 +0000)]
Initial add of math functions.

10 years agoAdd `?`, `.[]?`, and `..` operators 298/head
Nicolas Williams [Mon, 17 Feb 2014 18:28:26 +0000 (12:28 -0600)]
Add `?`, `.[]?`, and `..` operators

Make XPath-like `//a/b` recursive structure traversal easier in jq,
which then becomes:

    ..|.a?.b?

The `?` operator suppresses errors about . not being an array or object.
The `..` operator is equivalent to calling the new `recurse_down`
built-in, which in turn is equivalent to

    recurse(.[]?)

Note that `..a` is not supported; neither is `...a`.  That could be add
added, but it doesn't seem worth the trouble of saving the need to type
a '|'.

10 years agoMerge pull request #300 from lcd047/master
Nico Williams [Wed, 19 Feb 2014 17:21:04 +0000 (11:21 -0600)]
Merge pull request #300 from lcd047/master

Fix building of the manual

10 years agomanual.yml: fix indent for the new `any` and `all` commands. 300/head
LCD 47 [Wed, 19 Feb 2014 13:10:32 +0000 (15:10 +0200)]
manual.yml: fix indent for the new `any` and `all` commands.

10 years agoMerge pull request #296 from slapresta/all-any
Nico Williams [Mon, 17 Feb 2014 04:45:49 +0000 (22:45 -0600)]
Merge pull request #296 from slapresta/all-any

Added `all` and `any` builtins

10 years agoAdded `all` and `any` builtins 296/head
Santiago Lapresta [Mon, 17 Feb 2014 03:01:32 +0000 (04:01 +0100)]
Added `all` and `any` builtins

10 years agoFix cut-n-paste in `leaf_paths`; doc and test 'em
Nicolas Williams [Thu, 6 Feb 2014 05:14:05 +0000 (23:14 -0600)]
Fix cut-n-paste in `leaf_paths`; doc and test 'em

10 years ago#285 add and builtins
Nicolas Williams [Wed, 5 Feb 2014 21:23:32 +0000 (15:23 -0600)]
#285 add  and  builtins

10 years agowork with newer versions of automake 278/head
polyester [Sat, 25 Jan 2014 17:55:58 +0000 (18:55 +0100)]
work with newer versions of automake

when using a newer automake, the autoreconf step fails with warnings:
"linking libtool libraries using a non-POSIX archiver requires 'AM_PROG_AR' in 'configure.ac' "

This happens for instance on ubuntu 13.10.
Doing just that, adding 'AM_PROG_AR' to configure.ac fixes the problem.

10 years agoFix #201; check that bison accepts --warnings
Nicolas Williams [Thu, 2 Jan 2014 05:10:00 +0000 (23:10 -0600)]
Fix #201; check that bison accepts --warnings

10 years agoFix version for make dist on master
Nicolas Williams [Tue, 31 Dec 2013 23:15:44 +0000 (17:15 -0600)]
Fix version for make dist on master

 - Re-remove VERSION file and all traces of it
 - Pass a decent version indicator to AC_INIT (using git describe)

When we tag 1.4 this will produce 1.4 as the version string when
building on the HEAD of that tag.

11 years agoFix rpm build (`make rpm`)
Joe Littlejohn [Mon, 19 Aug 2013 12:55:52 +0000 (13:55 +0100)]
Fix rpm build (`make rpm`)

* Re-add VERSION as it's required for `./setup superclean`
  and `make rpm`.
* Add *.rpm to git ignore, we never want them under version control.

11 years agoinclude additional files in jq.spec
Filippo Giunchedi [Wed, 16 Oct 2013 16:25:41 +0000 (12:25 -0400)]
include additional files in jq.spec

this will probably need changing upon SONAME bump

11 years agofix rpm Makefile target and prerequisites
Filippo Giunchedi [Wed, 16 Oct 2013 16:24:27 +0000 (12:24 -0400)]
fix rpm Makefile target and prerequisites

depend on dist and the specfile, plus use automake's variables

11 years agoDocument --version
Nicolas Williams [Fri, 27 Dec 2013 00:48:51 +0000 (18:48 -0600)]
Document --version

11 years agoAdd jv_dumpf() and jv_show()
Nicolas Williams [Fri, 27 Dec 2013 00:37:17 +0000 (18:37 -0600)]
Add jv_dumpf() and jv_show()

jv_dumpf() takes a FILE *.

jv_show() is intended for use in debuggers, so it dumps the jv to stderr
and it does not jv_free() the jv, so it's safe to
"call jv_show(some_jv, -1)" in a debugger.  If flags == -1 then the jv
will be shown pretty-printed and in color.

11 years agoDocument .foo.bar in manual
Nicolas Williams [Fri, 27 Dec 2013 00:25:31 +0000 (18:25 -0600)]
Document .foo.bar in manual

11 years agoDocument exit numbers
Nicolas Williams [Thu, 26 Dec 2013 18:54:07 +0000 (12:54 -0600)]
Document exit numbers

11 years agoNormalize errors for -e
Nicolas Williams [Thu, 26 Dec 2013 18:54:03 +0000 (12:54 -0600)]
Normalize errors for -e

11 years agoFix doc typos (.[foo] wanted to be .["foo"])
Nicolas Williams [Wed, 25 Dec 2013 23:09:27 +0000 (17:09 -0600)]
Fix doc typos (.[foo] wanted to be .["foo"])

11 years agoAdd note to jq.1 about shell quoting
Nicolas Williams [Wed, 25 Dec 2013 23:05:32 +0000 (17:05 -0600)]
Add note to jq.1 about shell quoting

11 years agoMerge pull request #251 from phihag/fix-uri-in-manual
Stephen Dolan [Sat, 21 Dec 2013 19:47:24 +0000 (11:47 -0800)]
Merge pull request #251 from phihag/fix-uri-in-manual

Fix @uri example

11 years agoMerge pull request #252 from phihag/ignore-config-test-driver
Stephen Dolan [Sat, 21 Dec 2013 19:46:53 +0000 (11:46 -0800)]
Merge pull request #252 from phihag/ignore-config-test-driver

Ignore the config/test-driver file

11 years agoIgnore the config/test-driver file 252/head
Philipp Hagemeister [Fri, 20 Dec 2013 10:36:52 +0000 (11:36 +0100)]
Ignore the config/test-driver file

This file is automatically generated and does not need to be committed.

11 years agoFix @uri example 251/head
Philipp Hagemeister [Fri, 20 Dec 2013 10:32:26 +0000 (11:32 +0100)]
Fix @uri example

Previously, the @uri example didn't match the actual behavior of the current jq, as exclamation marks do not need to be encoded in URIs.
Replace the example with an input that needs encoding, and is encoded by jq.

11 years agoAllow negated object values without parens. Fixes #247
Stephen Dolan [Tue, 17 Dec 2013 22:28:26 +0000 (22:28 +0000)]
Allow negated object values without parens. Fixes #247

11 years agoFix memmem() error
Nicolas Williams [Tue, 17 Dec 2013 14:40:03 +0000 (08:40 -0600)]
Fix memmem() error

11 years agoMerge pull request #242 from sieben/travis-ci
Stephen Dolan [Sun, 15 Dec 2013 20:54:17 +0000 (12:54 -0800)]
Merge pull request #242 from sieben/travis-ci

Adding a .travis.yml file to use the travis-ci.org

11 years agoAdding a .travis.yml file to use the travis-ci.org 242/head
Rémy Léone [Thu, 12 Dec 2013 15:23:07 +0000 (16:23 +0100)]
Adding a .travis.yml file to use the travis-ci.org

From wikipedia:

Travis CI is a hosted, distributed continuous integration service used
to build and test projects hosted at GitHub.

Travis CI is configured by adding a file named .travis.yml, which is a
YAML format text file, to the root directory of the GitHub repository.

Travis CI automatically detects when a commit has been made and pushed
to a GitHub repository that is using Travis CI, and each time this
happens, it will try to build the project and run tests. This includes
commits to all branches, not just to the master branch. When that
process has completed, it will notify a developer in the way it has been
configured to do so — for example, by sending an email containing the
test results (showing success or failure), or by posting a message on an
IRC channel. It can be configured to run the tests on a range of
different machines, with different software installed (such as older
versions of a programming language, to test for compatibility).

11 years agoMake the testsuite run on machines without valgrind
Stephen Dolan [Fri, 13 Dec 2013 01:07:26 +0000 (01:07 +0000)]
Make the testsuite run on machines without valgrind

11 years agoFormat more integers as integers, not scientific notation.
Stephen Dolan [Mon, 9 Dec 2013 12:05:53 +0000 (12:05 +0000)]
Format more integers as integers, not scientific notation.

jq is now willing to put up to 15 zeros after an integer before
moving to scientific notation.

11 years agoMerge pull request #239 from DRMacIver/overflows
Stephen Dolan [Fri, 13 Dec 2013 00:38:14 +0000 (16:38 -0800)]
Merge pull request #239 from DRMacIver/overflows

Avoid undefined behaviour with large array indices

11 years agoComplete more-arity feature not complete
Nicolas Williams [Wed, 11 Dec 2013 20:13:57 +0000 (14:13 -0600)]
Complete more-arity feature not complete

And test

11 years agoMerge pull request #235 from DRMacIver/prototypes
Stephen Dolan [Tue, 10 Dec 2013 11:56:02 +0000 (03:56 -0800)]
Merge pull request #235 from DRMacIver/prototypes

some functions were missing proper prototypes

11 years agoconvert range bounds to integers in a way that avoids undefined behaviour 239/head
David R. MacIver [Tue, 10 Dec 2013 09:18:16 +0000 (09:18 +0000)]
convert range bounds to integers in a way that avoids undefined behaviour

11 years agoadd checking of numeric indices to an array to see if they can reasonably be consider...
David R. MacIver [Tue, 10 Dec 2013 09:17:30 +0000 (09:17 +0000)]
add checking of numeric indices to an array to see if they can reasonably be considered integers. Avoid undefined behaviour if out of bounds

11 years agosome functions were missing prototypes. Add them 235/head
David R. MacIver [Tue, 10 Dec 2013 00:07:08 +0000 (00:07 +0000)]
some functions were missing prototypes. Add them

11 years agoMerge pull request #232 from DRMacIver/teardown_on_error
Stephen Dolan [Mon, 9 Dec 2013 00:41:16 +0000 (16:41 -0800)]
Merge pull request #232 from DRMacIver/teardown_on_error

consistent use of goto out in main

11 years agodon't need to check for NULL there 232/head
David R. MacIver [Sun, 8 Dec 2013 23:52:07 +0000 (23:52 +0000)]
don't need to check for NULL there

11 years agoMerge pull request #233 from DRMacIver/printf
Stephen Dolan [Sun, 8 Dec 2013 23:44:33 +0000 (15:44 -0800)]
Merge pull request #233 from DRMacIver/printf

Fix warnings about vprintf

11 years agoMerge pull request #231 from DRMacIver/fix_mem_leak_in_compile
Stephen Dolan [Sun, 8 Dec 2013 23:17:20 +0000 (15:17 -0800)]
Merge pull request #231 from DRMacIver/fix_mem_leak_in_compile

args to jq_compile_args were not getting freed when there were errors in the compile

11 years agoClean up string/object interactions in jv.
Stephen Dolan [Sun, 8 Dec 2013 22:23:43 +0000 (22:23 +0000)]
Clean up string/object interactions in jv.

11 years agoThese vfprintfs are being used as if they were printfs. Fix that 233/head
David R. MacIver [Sun, 8 Dec 2013 20:08:04 +0000 (20:08 +0000)]
These vfprintfs are being used as if they were printfs. Fix that

11 years agoconsistent use of goto out in main
David R. MacIver [Sun, 8 Dec 2013 19:22:18 +0000 (19:22 +0000)]
consistent use of goto out in main