1
1
mirror of https://github.com/wader/fq.git synced 2024-11-24 03:05:22 +03:00
Commit Graph

547 Commits

Author SHA1 Message Date
Mattias Wadman
cf8a50c150 decode: Use stable sort for values to not change order or values with same range start
Some decoders might relay on values added with same start to be kept in same order.
2022-01-20 16:21:50 +01:00
Mattias Wadman
2173d9e1f9
Merge pull request #88 from wader/fq-version-in-source
fq: Embed version in source
2022-01-19 21:38:22 +01:00
Mattias Wadman
78c0775e63 fq: Embed version in source
Related to #68
2022-01-19 20:45:08 +01:00
Mattias Wadman
059e287227 todo: Cleanup add some known issues and deoder ideas 2022-01-18 17:52:51 +01:00
Mattias Wadman
ae167bbfb4
Merge pull request #87 from wader/tar-allow-more-than-2-zero-block-at-end
tar: Allow more than 2 zero end blocks at end
2022-01-18 13:01:08 +01:00
Mattias Wadman
ba1edef793 tar: Allow more than 2 zero end blocks at end 2022-01-18 12:54:50 +01:00
Mattias Wadman
39d4d846d7
Merge pull request #86 from wader/tar-dont-assume-endmarker
tar: Don't assume there is a end marker
2022-01-18 12:20:59 +01:00
Mattias Wadman
6181128c65
Merge pull request #85 from wader/decode-error-number-neg-nbits
decode: Error on negative number of bits when reading numbers
2022-01-18 12:14:36 +01:00
Mattias Wadman
5921d76bf0 tar: Don't assume there is a end marker
GNU tar docs says:
At the end of the archive file there are two 512-byte blocks filled with binary zeros as an
end-of-file marker. A reasonable system should write such end-of-file marker at the end of
an archive, but must not assume that such a block exists when reading an archive.
In particular GNU tar always issues a warning if it does not encounter it.

Also clean up API usage a bit
2022-01-18 12:12:34 +01:00
Mattias Wadman
51f958278e
Merge pull request #84 from wader/flac-dont-allow-zero-samplesize
flac: Don't allow zero subframe sample size
2022-01-18 12:03:54 +01:00
Mattias Wadman
ff5c0b8195 decode: Error on negative number of bits when reading numbers
Maybe should even give error on zero bits? maybe only allow for zero bit for unsigned ints?
2022-01-18 12:01:04 +01:00
Mattias Wadman
263f1aeb66 flac: Don't allow zero subframe sample size
Spec says sample size can be 4-32 but that is probably before correcting for waste bits
2022-01-18 11:58:57 +01:00
Mattias Wadman
b1b42b46b0
Merge pull request #83 from wader/readline-update
readline: Update to verison with less deps
2022-01-18 00:45:14 +01:00
Mattias Wadman
36d28913ae readline: Update to verison with less deps
Should make it easier to package for debian etc
2022-01-18 00:40:12 +01:00
Mattias Wadman
4a25f9d120
Merge pull request #82 from wader/mp4-improved-sample-decode
mp4: Refactor sample decode into something more sane
2022-01-17 21:50:00 +01:00
Mattias Wadman
61bf2ce644 mp4: Refactor sample decode into something more sane
Also fatal error instead of silent ignore if index goes outside stsc or stco tables.
2022-01-17 13:38:11 +01:00
Mattias Wadman
7d08a75cd3
Merge pull request #81 from wader/decode-nil
decode,interp: Finish up nil value support
2022-01-17 10:59:49 +01:00
Mattias Wadman
548a065388 decode,interp: Finish up nil value support
Update msgpack, bson and cbor to use it.
2022-01-17 10:49:46 +01:00
Mattias Wadman
cc79735817
Merge pull request #80 from wader/doc-formats-graph
doc: Improve formats graph a bit
2022-01-16 21:17:50 +01:00
Mattias Wadman
6ca4767e24 doc: Improve formats graph a bit
Force all dep edges to go from east to north
2022-01-16 20:12:40 +01:00
Mattias Wadman
8e9700d0bd doc: Improve readme a bit and add torepr example 2022-01-15 19:26:58 +01:00
Mattias Wadman
63160bf52e
Merge pull request #79 from wader/bigint
Add arbitrary large integer support (BigInt)
2022-01-15 19:08:50 +01:00
Mattias Wadman
edad481878 num,mathextra: Rename num package to mathextra
Think it makes more sense
2022-01-15 19:00:42 +01:00
Mattias Wadman
1383b411ae decode,interp: Add arbitrary large integer support (BigInt)
Was already handled in fq in various places as gojq uses them

Update msgpack to support negative integers that can't represented as int64
Rename read try* number functions to make them more explicit
2022-01-15 19:00:42 +01:00
Mattias Wadman
3411f8900c
Merge pull request #78 from wader/mp4-improved-stsz
mp4: Improved stsz handling
2022-01-15 17:55:09 +01:00
Mattias Wadman
4a1e8590fa mp4: Improved stsz handling
Track size/count instead of just sizes which should decrease memory usage
making count sanity check unnecessary.

Fixes issue with huge mp4 files (80gb+) with lots of samples.
2022-01-15 17:51:10 +01:00
Mattias Wadman
8092151e52
Merge pull request #77 from wader/formats-sorts
formats: Sort and make lists less likely to cause collision
2022-01-12 18:42:05 +01:00
Mattias Wadman
75ffd0213b
Merge pull request #76 from wader/doc-dev-deps
doc: Document dev dependencies and related PRs/issues etc
2022-01-12 18:36:20 +01:00
Mattias Wadman
729a6cae1e formats: Sort and make lists less likely to cause collision 2022-01-12 18:35:28 +01:00
Mattias Wadman
59b88034d4 doc: Document dev dependencies and related PRs/issues etc 2022-01-12 18:29:33 +01:00
Mattias Wadman
a3fee14985
Merge pull request #75 from wader/cbor
cbor: Add decoder
2022-01-12 18:01:48 +01:00
Mattias Wadman
0b0f28e966 cbor: Add decoder
Does not decode sematic tag types
Also fixes broken float16 support

Fixes #71
2022-01-12 17:56:03 +01:00
Mattias Wadman
b66729449e
Merge pull request #74 from wader/torepr
interp: Add torepr/0 that converts decode value into what it reptresents
2022-01-12 17:41:45 +01:00
Mattias Wadman
149cb3f45a interp: Add torepr/0 that converts decode value into what it reptresents
Ex: fq -d msgpack torepr file.msgpack
Willoutput the JSON representation of the msgpack

Make per format *_torepr functions internal
2022-01-12 17:33:58 +01:00
Mattias Wadman
3e2a233e50
Merge pull request #72 from wader/doc-dev-tips
doc: Add more dev tips
2022-01-11 12:34:07 +01:00
Mattias Wadman
809210bea6 doc: Add more dev tips 2022-01-11 12:28:21 +01:00
Mattias Wadman
05df5a9092
Merge pull request #69 from wader/msgpack
msgpack: Add decoder
2022-01-10 21:38:59 +01:00
Mattias Wadman
c782e0beae
Merge pull request #70 from wader/repl-jqish-prompt
repl: Make prompt for array and iter more jqish
2022-01-10 20:07:27 +01:00
Mattias Wadman
9770b0046b repl: Make prompt for array and iter more jqish
Really need to refactor script.go some day into a proper parser
2022-01-10 20:02:43 +01:00
Mattias Wadman
a6bf62ce19 msgpack: Add decoder
Fixes #25
2022-01-10 19:33:09 +01:00
Mattias Wadman
ece2fd78ec
Merge pull request #64 from wader/bencode
bencode: Add decoder
2022-01-10 10:56:46 +01:00
Mattias Wadman
af8e7efc61 bencode: Add decoder
Closes #63
2022-01-10 10:52:14 +01:00
Mattias Wadman
d066a86d76
Merge pull request #66 from wader/doc-alpine-go-run
doc: Add alpine and go run
2022-01-09 17:06:54 +01:00
Mattias Wadman
a0ccde99a5
Merge pull request #65 from wader/doc-dev-help
doc,dev: Add some more decoder implementation help
2022-01-09 17:03:42 +01:00
Mattias Wadman
0c1716beab doc: Add alpine and go run 2022-01-09 17:02:20 +01:00
Mattias Wadman
b4694b6b9b doc,dev: Add some more decoder implementation help 2022-01-09 16:57:11 +01:00
Mattias Wadman
0bad0ae27d
Merge pull request #62 from wader/bitops-doc-err-tests
interp: Document bit opts funcs and add some error tests
2022-01-09 10:48:10 +01:00
Mattias Wadman
b3a09805a4 interp: Document bit opts funcs and add some error tests 2022-01-09 10:43:07 +01:00
Mattias Wadman
2743585219
Merge pull request #61 from wader/bitops-funcs
interp,fq: Make bit operators normal functions
2022-01-09 01:10:45 +01:00
Mattias Wadman
be0ef80c8d interp,fq: Make bit operators normal functions
Uses same rule as jq math functions, 1 arg uses input, more than one all passed as args.
So "bnot 1" -> "1 | bnot", "1 bsl 1" -> "bsl(1; 1)"

Don't think it's worth changing the jq syntax for this and also it could make fq
scripts no compatiblr with other jq tools. Non-10 base number literals are still allowed
but should probably not be used in scripts, only in repl and with cli.
2022-01-09 01:06:36 +01:00