David Tolnay
16e8d0b1ab
detect invalid path expression ( fix #862 )
2015-07-24 20:23:07 -07:00
David Tolnay
1628bbf95f
Clean up trailing whitespace
2015-07-19 09:38:50 -07:00
Nicolas Williams
10cbb9b580
Fix test failure introduced by previous commit
2015-06-22 18:32:28 -05:00
David Tolnay
4a316fbb5a
fix errors flagged by clang static analyzer
...
builtin.c: bug - free of uninitialized jv
compile.c: missing assertion
jq_test.c: buggy logic / unreachable code
jv.c: missing assertion
jv_alloc.c: false positive - intentional read of uninitialized memory
jv_file.c: dead code
2015-06-20 16:08:56 -05:00
Nicolas Williams
6083581fea
Fix #802
2015-06-18 00:03:46 -05:00
Travis Gockel
110e009996
Add wrapping and clamping to jv_array_slice
...
Fix #716 . Fix #717 .
2015-05-21 19:17:16 -05:00
Nicolas Williams
8b5ff40402
Split on empty sep: fix #552 moar
2015-01-14 01:32:11 -06:00
Nicolas Williams
60d1ecb58a
Fix #552
2015-01-12 10:44:44 -06:00
Nicolas Williams
20ca21cb0d
Out of bounds negative array indices should raise
2014-08-09 19:15:50 -05:00
Nicolas Williams
2d1a75f550
.foo[-1] = ... trips assertion (fix #490 )
2014-08-09 13:10:41 -05:00
Nicolas Williams
50b85c2911
Rename jq_memmem() to _jq_memmem()
2014-07-22 22:51:11 -05:00
William Langford
38b939688a
Added library system with -l, -L, and JQ_LIBRARY_PATH
...
Created util.[ch] to hold common utilities.
2014-07-22 22:51:11 -05:00
Nicolas Williams
b963ebaf1d
jv_invalid() shouldn't allocate
...
jv_invalid() should behave like jv_invalid_with_msg(jv_null()), and
neither should allocate memory, because neither ought to need to.
2014-07-07 19:33:18 -05:00
Nicolas Williams
1dbe9317bc
Add indices(s), improve index(s), rindex(s)
...
Now these deal with arrays as input and `s` being an array or a scalar.
2014-06-08 02:01:44 -05:00
Nicolas Williams
5fb82d1018
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.
2014-06-02 00:56:01 -05:00
Filippo Valsorda
2aa8a43c5b
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
2014-03-08 03:56:05 +01:00
Nicolas Williams
0966230ba8
Fix memmem() error
2013-12-17 08:40:03 -06:00
David R. MacIver
014b45b4a9
add checking of numeric indices to an array to see if they can reasonably be considered integers. Avoid undefined behaviour if out of bounds
2013-12-10 09:20:12 +00:00
Stephen Dolan
a7dd3ab793
Clean up string/object interactions in jv.
2013-12-08 22:49:28 +00:00
Stephen Dolan
74a14f5de7
Refactor jv structure.
...
New structure layout is simpler and also faster. In particular, it's
now small enough to be passed in registers on amd64.
2013-12-08 17:46:23 +00:00
Nicolas Williams
cac14a531d
Add index strings by string; return string indexes
...
% jq '.[","]'
"a,bc,def,ghij,klmno"
[1,4,8,13]
%
2013-12-04 18:21:42 -06:00
Nicolas Williams
04bc2ef7cf
Add jv_string_vfmt()
2013-12-04 18:21:41 -06:00
Nicolas Williams
884e6c7d8b
Add string slicing
2013-12-04 18:21:39 -06:00
Nicolas Williams
cf562961b7
Add string division by string (split on separator)
2013-12-04 18:21:39 -06:00
Nicolas Williams
6c734cb609
Add explode/implode jq functions to match jv API
2013-12-04 18:21:38 -06:00
Nicolas Williams
ef41d1cb57
Use uint32_t for codepoint in jv_string_append_codepoint()
2013-12-04 18:21:38 -06:00
Nicolas Williams
08b4a34a8e
Add jv string utility functions
...
jv_string_empty()
-> return an empty string with given allocated length (for fast
appends)
jv_string_append_codepoint
-> append a single codepoint (int) to the given string
jv_string_explode
-> return an array of codepoints making up a string
jv_string_implode
-> return the UTF-8 encoding of an array of codepoint numbers
2013-12-04 18:21:38 -06:00
Stephen Dolan
91cfc34ae4
Preserve insertion order in objects. Closes #169 .
2013-12-04 22:30:39 +00:00
Stephen Dolan
dae2422fd1
Merge branch 'libjq'
...
Conflicts:
Makefile.am
configure.ac
2013-09-14 19:30:39 +01:00
Stephen Dolan
37cfc912c1
Remove #includes from jv.h
2013-06-23 14:23:07 +01:00
Stephen Dolan
ff48bd6ec5
Fix various UTF8 parsing bugs.
...
In particular, parse bad UTF8 by replacing the broken bits with U+FFFD
and resychronise correctly after broken sequences.
2013-06-22 13:34:24 +01:00
Stephen Dolan
e83e51eb56
'length' function now measures string length in codepoints, not bytes.
2013-05-15 00:37:38 +01:00
Stephen Dolan
b0e65d149f
Fix a bug triggered by jv_array_slice.
2013-05-13 14:10:39 +01:00
Nicolas Williams
fb3c124af1
Rename complex to nontrivial for safety ( #113 )
2013-05-07 18:46:13 -05:00
Stephen Dolan
fb84541e11
Clean up jv_object_foreach and add jv_array_foreach
2012-12-31 23:27:00 +00:00
Stephen Dolan
79c9c418c6
Path manipulation (path/getpath/setpath/delpath) and docs.
...
del function should fix #37 .
2012-12-28 16:08:29 +00:00
Stephen Dolan
04daafbde3
Add wrappers for malloc/realloc/free. See #43 .
2012-12-18 16:53:51 +00:00
Stephen Roantree
1b556315af
Remove redundant code from jv_object_contains
2012-10-25 06:29:23 -07:00
Stephen Roantree
ecc8998d38
Restructure contains methods to use public jv methods
2012-10-24 18:29:33 -07:00
Stephen Roantree
5e25c2a259
Implemented contains operator
2012-10-24 13:50:26 -07:00
Stephen Dolan
a4eea165bb
Move everything around - delete old Haskell code, clean up build.
2012-09-18 17:44:43 +01:00