1
1
mirror of https://github.com/wader/fq.git synced 2024-10-27 04:09:37 +03:00
fq/format/tzif/testdata/Efate.fqtest
Mattias Wadman 051a70bd4b interp: Change bit ranges to use exclusive end
All other ranges and slicing uses exclusive end so i think it make sense
to make it consistent.

Update docs and add additional example for non-byte-aligned field.

Also fixes issue showing zero bit ranges as start-NA.
2023-10-20 15:37:26 +02:00

221 lines
26 KiB
Plaintext

$ fq -d tzif dv Efate
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: Efate (tzif) 0x0-0x21a (538)
| | | v1header{}: 0x0-0x2c (44)
0x000|54 5a 69 66 |TZif | magic: 0x545a6966 (valid) 0x0-0x4 (4)
0x000| 32 | 2 | ver: "2" (0x32) (valid) 0x4-0x5 (1)
0x000| 00 00 00 00 00 00 00 00 00 00 00| ...........| reserved: raw bits 0x5-0x14 (15)
0x010|00 00 00 00 |.... |
0x010| 00 00 00 05 | .... | isutcnt: 5 0x14-0x18 (4)
0x010| 00 00 00 05 | .... | isstdcnt: 5 0x18-0x1c (4)
0x010| 00 00 00 00| ....| leapcnt: 0 0x1c-0x20 (4)
0x020|00 00 00 18 |.... | timecnt: 24 0x20-0x24 (4)
0x020| 00 00 00 05 | .... | typecnt: 5 0x24-0x28 (4)
0x020| 00 00 00 0c | .... | charcnt: 12 0x28-0x2c (4)
| | | v1datablock{}: 0x2c-0xd8 (172)
| | | transition_times[0:24]: 0x2c-0x8c (96)
0x020| 92 f5 c2 b4| ....| [0]: "1912-01-12T12:46:44Z" (-1829387596) transition_time 0x2c-0x30 (4)
0x030|07 79 99 40 |.y.@ | [1]: "1973-12-22T12:00:00Z" (125409600) transition_time 0x30-0x34 (4)
0x030| 07 fa cc 40 | ...@ | [2]: "1974-03-30T12:00:00Z" (133876800) transition_time 0x34-0x38 (4)
0x030| 19 d2 f7 d0 | .... | [3]: "1983-09-24T13:00:00Z" (433256400) transition_time 0x38-0x3c (4)
0x030| 1a c2 da c0| ....| [4]: "1984-03-24T12:00:00Z" (448977600) transition_time 0x3c-0x40 (4)
0x040|1b b2 d9 d0 |.... | [5]: "1984-09-22T13:00:00Z" (464706000) transition_time 0x40-0x44 (4)
0x040| 1c a2 bc c0 | .... | [6]: "1985-03-23T12:00:00Z" (480427200) transition_time 0x44-0x48 (4)
0x040| 1d 9b f6 50 | ...P | [7]: "1985-09-28T13:00:00Z" (496760400) transition_time 0x48-0x4c (4)
0x040| 1e 82 9e c0| ....| [8]: "1986-03-22T12:00:00Z" (511876800) transition_time 0x4c-0x50 (4)
0x050|1f 7b d8 50 |.{.P | [9]: "1986-09-27T13:00:00Z" (528210000) transition_time 0x50-0x54 (4)
0x050| 20 6b bb 40 | k.@ | [10]: "1987-03-28T12:00:00Z" (543931200) transition_time 0x54-0x58 (4)
0x050| 21 5b ba 50 | ![.P | [11]: "1987-09-26T13:00:00Z" (559659600) transition_time 0x58-0x5c (4)
0x050| 22 4b 9d 40| "K.@| [12]: "1988-03-26T12:00:00Z" (575380800) transition_time 0x5c-0x60 (4)
0x060|23 3b 9c 50 |#;.P | [13]: "1988-09-24T13:00:00Z" (591109200) transition_time 0x60-0x64 (4)
0x060| 24 2b 7f 40 | $+.@ | [14]: "1989-03-25T12:00:00Z" (606830400) transition_time 0x64-0x68 (4)
0x060| 25 1b 7e 50 | %.~P | [15]: "1989-09-23T13:00:00Z" (622558800) transition_time 0x68-0x6c (4)
0x060| 26 0b 61 40| &.a@| [16]: "1990-03-24T12:00:00Z" (638280000) transition_time 0x6c-0x70 (4)
0x070|26 fb 60 50 |&.`P | [17]: "1990-09-22T13:00:00Z" (654008400) transition_time 0x70-0x74 (4)
0x070| 27 eb 43 40 | '.C@ | [18]: "1991-03-23T12:00:00Z" (669729600) transition_time 0x74-0x78 (4)
0x070| 28 e4 7c d0 | (.|. | [19]: "1991-09-28T13:00:00Z" (686062800) transition_time 0x78-0x7c (4)
0x070| 29 81 51 40| ).Q@| [20]: "1992-01-25T12:00:00Z" (696340800) transition_time 0x7c-0x80 (4)
0x080|2a e9 48 d0 |*.H. | [21]: "1992-10-24T13:00:00Z" (719931600) transition_time 0x80-0x84 (4)
0x080| 2b 61 33 40 | +a3@ | [22]: "1993-01-23T12:00:00Z" (727790400) transition_time 0x84-0x88 (4)
0x080| 7f ff ff ff | .... | [23]: "2038-01-19T03:14:07Z" (2147483647) transition_time 0x88-0x8c (4)
| | | transition_types[0:24]: 0x8c-0xa4 (24)
0x080| 04 | . | [0]: 4 transition_type 0x8c-0x8d (1)
0x080| 01 | . | [1]: 1 transition_type 0x8d-0x8e (1)
0x080| 02 | . | [2]: 2 transition_type 0x8e-0x8f (1)
0x080| 03| .| [3]: 3 transition_type 0x8f-0x90 (1)
0x090|04 |. | [4]: 4 transition_type 0x90-0x91 (1)
0x090| 03 | . | [5]: 3 transition_type 0x91-0x92 (1)
0x090| 04 | . | [6]: 4 transition_type 0x92-0x93 (1)
0x090| 03 | . | [7]: 3 transition_type 0x93-0x94 (1)
0x090| 04 | . | [8]: 4 transition_type 0x94-0x95 (1)
0x090| 03 | . | [9]: 3 transition_type 0x95-0x96 (1)
0x090| 04 | . | [10]: 4 transition_type 0x96-0x97 (1)
0x090| 03 | . | [11]: 3 transition_type 0x97-0x98 (1)
0x090| 04 | . | [12]: 4 transition_type 0x98-0x99 (1)
0x090| 03 | . | [13]: 3 transition_type 0x99-0x9a (1)
0x090| 04 | . | [14]: 4 transition_type 0x9a-0x9b (1)
0x090| 03 | . | [15]: 3 transition_type 0x9b-0x9c (1)
0x090| 04 | . | [16]: 4 transition_type 0x9c-0x9d (1)
0x090| 03 | . | [17]: 3 transition_type 0x9d-0x9e (1)
0x090| 04 | . | [18]: 4 transition_type 0x9e-0x9f (1)
0x090| 03| .| [19]: 3 transition_type 0x9f-0xa0 (1)
0x0a0|04 |. | [20]: 4 transition_type 0xa0-0xa1 (1)
0x0a0| 03 | . | [21]: 3 transition_type 0xa1-0xa2 (1)
0x0a0| 04 | . | [22]: 4 transition_type 0xa2-0xa3 (1)
0x0a0| 04 | . | [23]: 4 transition_type 0xa3-0xa4 (1)
| | | local_time_type_records[0:5]: 0xa4-0xc2 (30)
| | | [0]{}: local_time_type 0xa4-0xaa (6)
0x0a0| 00 00 9d cc | .... | utoff: 40396 (valid) 0xa4-0xa8 (4)
0x0a0| 00 | . | dst: 0 (valid) 0xa8-0xa9 (1)
0x0a0| 00 | . | idx: 0 (valid) 0xa9-0xaa (1)
| | | [1]{}: local_time_type 0xaa-0xb0 (6)
0x0a0| 00 00 a8 c0 | .... | utoff: 43200 (valid) 0xaa-0xae (4)
0x0a0| 01 | . | dst: 1 (valid) 0xae-0xaf (1)
0x0a0| 04| .| idx: 4 (valid) 0xaf-0xb0 (1)
| | | [2]{}: local_time_type 0xb0-0xb6 (6)
0x0b0|00 00 9a b0 |.... | utoff: 39600 (valid) 0xb0-0xb4 (4)
0x0b0| 00 | . | dst: 0 (valid) 0xb4-0xb5 (1)
0x0b0| 08 | . | idx: 8 (valid) 0xb5-0xb6 (1)
| | | [3]{}: local_time_type 0xb6-0xbc (6)
0x0b0| 00 00 a8 c0 | .... | utoff: 43200 (valid) 0xb6-0xba (4)
0x0b0| 01 | . | dst: 1 (valid) 0xba-0xbb (1)
0x0b0| 04 | . | idx: 4 (valid) 0xbb-0xbc (1)
| | | [4]{}: local_time_type 0xbc-0xc2 (6)
0x0b0| 00 00 9a b0| ....| utoff: 39600 (valid) 0xbc-0xc0 (4)
0x0c0|00 |. | dst: 0 (valid) 0xc0-0xc1 (1)
0x0c0| 08 | . | idx: 8 (valid) 0xc1-0xc2 (1)
| | | time_zone_designations[0:3]: 0xc2-0xce (12)
0x0c0| 4c 4d 54 00 | LMT. | [0]: "LMT" time_zone_designation 0xc2-0xc6 (4)
0x0c0| 2b 31 32 00 | +12. | [1]: "+12" time_zone_designation 0xc6-0xca (4)
0x0c0| 2b 31 31 00 | +11. | [2]: "+11" time_zone_designation 0xca-0xce (4)
| | | leap_second_records[0:0]: 0xce-0xce (0)
| | | standard_wall_indicators[0:5]: 0xce-0xd3 (5)
0x0c0| 00 | . | [0]: 0 standard_wall_indicator (valid) 0xce-0xcf (1)
0x0c0| 01| .| [1]: 1 standard_wall_indicator (valid) 0xcf-0xd0 (1)
0x0d0|01 |. | [2]: 1 standard_wall_indicator (valid) 0xd0-0xd1 (1)
0x0d0| 00 | . | [3]: 0 standard_wall_indicator (valid) 0xd1-0xd2 (1)
0x0d0| 00 | . | [4]: 0 standard_wall_indicator (valid) 0xd2-0xd3 (1)
| | | ut_local_indicators[0:5]: 0xd3-0xd8 (5)
0x0d0| 00 | . | [0]: 0 ut_local_indicator (valid) 0xd3-0xd4 (1)
0x0d0| 01 | . | [1]: 1 ut_local_indicator (valid) 0xd4-0xd5 (1)
0x0d0| 01 | . | [2]: 1 ut_local_indicator (valid) 0xd5-0xd6 (1)
0x0d0| 00 | . | [3]: 0 ut_local_indicator (valid) 0xd6-0xd7 (1)
0x0d0| 00 | . | [4]: 0 ut_local_indicator (valid) 0xd7-0xd8 (1)
| | | v2plusheader{}: 0xd8-0x104 (44)
0x0d0| 54 5a 69 66 | TZif | magic: 0x545a6966 (valid) 0xd8-0xdc (4)
0x0d0| 32 | 2 | ver: "2" (0x32) (valid) 0xdc-0xdd (1)
0x0d0| 00 00 00| ...| reserved: raw bits 0xdd-0xec (15)
0x0e0|00 00 00 00 00 00 00 00 00 00 00 00 |............ |
0x0e0| 00 00 00 05| ....| isutcnt: 5 0xec-0xf0 (4)
0x0f0|00 00 00 05 |.... | isstdcnt: 5 0xf0-0xf4 (4)
0x0f0| 00 00 00 00 | .... | leapcnt: 0 0xf4-0xf8 (4)
0x0f0| 00 00 00 18 | .... | timecnt: 24 0xf8-0xfc (4)
0x0f0| 00 00 00 05| ....| typecnt: 5 0xfc-0x100 (4)
0x100|00 00 00 0c |.... | charcnt: 12 0x100-0x104 (4)
| | | v2plusdatablock{}: 0x104-0x210 (268)
| | | transition_times[0:24]: 0x104-0x1c4 (192)
0x100| ff ff ff ff 92 f5 c2 b4 | ........ | [0]: "1912-01-12T12:46:44Z" (-1829387596) transition_time 0x104-0x10c (8)
0x100| 00 00 00 00| ....| [1]: "1973-12-22T12:00:00Z" (125409600) transition_time 0x10c-0x114 (8)
0x110|07 79 99 40 |.y.@ |
0x110| 00 00 00 00 07 fa cc 40 | .......@ | [2]: "1974-03-30T12:00:00Z" (133876800) transition_time 0x114-0x11c (8)
0x110| 00 00 00 00| ....| [3]: "1983-09-24T13:00:00Z" (433256400) transition_time 0x11c-0x124 (8)
0x120|19 d2 f7 d0 |.... |
0x120| 00 00 00 00 1a c2 da c0 | ........ | [4]: "1984-03-24T12:00:00Z" (448977600) transition_time 0x124-0x12c (8)
0x120| 00 00 00 00| ....| [5]: "1984-09-22T13:00:00Z" (464706000) transition_time 0x12c-0x134 (8)
0x130|1b b2 d9 d0 |.... |
0x130| 00 00 00 00 1c a2 bc c0 | ........ | [6]: "1985-03-23T12:00:00Z" (480427200) transition_time 0x134-0x13c (8)
0x130| 00 00 00 00| ....| [7]: "1985-09-28T13:00:00Z" (496760400) transition_time 0x13c-0x144 (8)
0x140|1d 9b f6 50 |...P |
0x140| 00 00 00 00 1e 82 9e c0 | ........ | [8]: "1986-03-22T12:00:00Z" (511876800) transition_time 0x144-0x14c (8)
0x140| 00 00 00 00| ....| [9]: "1986-09-27T13:00:00Z" (528210000) transition_time 0x14c-0x154 (8)
0x150|1f 7b d8 50 |.{.P |
0x150| 00 00 00 00 20 6b bb 40 | .... k.@ | [10]: "1987-03-28T12:00:00Z" (543931200) transition_time 0x154-0x15c (8)
0x150| 00 00 00 00| ....| [11]: "1987-09-26T13:00:00Z" (559659600) transition_time 0x15c-0x164 (8)
0x160|21 5b ba 50 |![.P |
0x160| 00 00 00 00 22 4b 9d 40 | ...."K.@ | [12]: "1988-03-26T12:00:00Z" (575380800) transition_time 0x164-0x16c (8)
0x160| 00 00 00 00| ....| [13]: "1988-09-24T13:00:00Z" (591109200) transition_time 0x16c-0x174 (8)
0x170|23 3b 9c 50 |#;.P |
0x170| 00 00 00 00 24 2b 7f 40 | ....$+.@ | [14]: "1989-03-25T12:00:00Z" (606830400) transition_time 0x174-0x17c (8)
0x170| 00 00 00 00| ....| [15]: "1989-09-23T13:00:00Z" (622558800) transition_time 0x17c-0x184 (8)
0x180|25 1b 7e 50 |%.~P |
0x180| 00 00 00 00 26 0b 61 40 | ....&.a@ | [16]: "1990-03-24T12:00:00Z" (638280000) transition_time 0x184-0x18c (8)
0x180| 00 00 00 00| ....| [17]: "1990-09-22T13:00:00Z" (654008400) transition_time 0x18c-0x194 (8)
0x190|26 fb 60 50 |&.`P |
0x190| 00 00 00 00 27 eb 43 40 | ....'.C@ | [18]: "1991-03-23T12:00:00Z" (669729600) transition_time 0x194-0x19c (8)
0x190| 00 00 00 00| ....| [19]: "1991-09-28T13:00:00Z" (686062800) transition_time 0x19c-0x1a4 (8)
0x1a0|28 e4 7c d0 |(.|. |
0x1a0| 00 00 00 00 29 81 51 40 | ....).Q@ | [20]: "1992-01-25T12:00:00Z" (696340800) transition_time 0x1a4-0x1ac (8)
0x1a0| 00 00 00 00| ....| [21]: "1992-10-24T13:00:00Z" (719931600) transition_time 0x1ac-0x1b4 (8)
0x1b0|2a e9 48 d0 |*.H. |
0x1b0| 00 00 00 00 2b 61 33 40 | ....+a3@ | [22]: "1993-01-23T12:00:00Z" (727790400) transition_time 0x1b4-0x1bc (8)
0x1b0| 00 00 00 00| ....| [23]: "2038-01-19T03:14:07Z" (2147483647) transition_time 0x1bc-0x1c4 (8)
0x1c0|7f ff ff ff |.... |
| | | transition_types[0:24]: 0x1c4-0x1dc (24)
0x1c0| 04 | . | [0]: 4 transition_type 0x1c4-0x1c5 (1)
0x1c0| 01 | . | [1]: 1 transition_type 0x1c5-0x1c6 (1)
0x1c0| 02 | . | [2]: 2 transition_type 0x1c6-0x1c7 (1)
0x1c0| 03 | . | [3]: 3 transition_type 0x1c7-0x1c8 (1)
0x1c0| 04 | . | [4]: 4 transition_type 0x1c8-0x1c9 (1)
0x1c0| 03 | . | [5]: 3 transition_type 0x1c9-0x1ca (1)
0x1c0| 04 | . | [6]: 4 transition_type 0x1ca-0x1cb (1)
0x1c0| 03 | . | [7]: 3 transition_type 0x1cb-0x1cc (1)
0x1c0| 04 | . | [8]: 4 transition_type 0x1cc-0x1cd (1)
0x1c0| 03 | . | [9]: 3 transition_type 0x1cd-0x1ce (1)
0x1c0| 04 | . | [10]: 4 transition_type 0x1ce-0x1cf (1)
0x1c0| 03| .| [11]: 3 transition_type 0x1cf-0x1d0 (1)
0x1d0|04 |. | [12]: 4 transition_type 0x1d0-0x1d1 (1)
0x1d0| 03 | . | [13]: 3 transition_type 0x1d1-0x1d2 (1)
0x1d0| 04 | . | [14]: 4 transition_type 0x1d2-0x1d3 (1)
0x1d0| 03 | . | [15]: 3 transition_type 0x1d3-0x1d4 (1)
0x1d0| 04 | . | [16]: 4 transition_type 0x1d4-0x1d5 (1)
0x1d0| 03 | . | [17]: 3 transition_type 0x1d5-0x1d6 (1)
0x1d0| 04 | . | [18]: 4 transition_type 0x1d6-0x1d7 (1)
0x1d0| 03 | . | [19]: 3 transition_type 0x1d7-0x1d8 (1)
0x1d0| 04 | . | [20]: 4 transition_type 0x1d8-0x1d9 (1)
0x1d0| 03 | . | [21]: 3 transition_type 0x1d9-0x1da (1)
0x1d0| 04 | . | [22]: 4 transition_type 0x1da-0x1db (1)
0x1d0| 04 | . | [23]: 4 transition_type 0x1db-0x1dc (1)
| | | local_time_type_records[0:5]: 0x1dc-0x1fa (30)
| | | [0]{}: local_time_type 0x1dc-0x1e2 (6)
0x1d0| 00 00 9d cc| ....| utoff: 40396 (valid) 0x1dc-0x1e0 (4)
0x1e0|00 |. | dst: 0 (valid) 0x1e0-0x1e1 (1)
0x1e0| 00 | . | idx: 0 (valid) 0x1e1-0x1e2 (1)
| | | [1]{}: local_time_type 0x1e2-0x1e8 (6)
0x1e0| 00 00 a8 c0 | .... | utoff: 43200 (valid) 0x1e2-0x1e6 (4)
0x1e0| 01 | . | dst: 1 (valid) 0x1e6-0x1e7 (1)
0x1e0| 04 | . | idx: 4 (valid) 0x1e7-0x1e8 (1)
| | | [2]{}: local_time_type 0x1e8-0x1ee (6)
0x1e0| 00 00 9a b0 | .... | utoff: 39600 (valid) 0x1e8-0x1ec (4)
0x1e0| 00 | . | dst: 0 (valid) 0x1ec-0x1ed (1)
0x1e0| 08 | . | idx: 8 (valid) 0x1ed-0x1ee (1)
| | | [3]{}: local_time_type 0x1ee-0x1f4 (6)
0x1e0| 00 00| ..| utoff: 43200 (valid) 0x1ee-0x1f2 (4)
0x1f0|a8 c0 |.. |
0x1f0| 01 | . | dst: 1 (valid) 0x1f2-0x1f3 (1)
0x1f0| 04 | . | idx: 4 (valid) 0x1f3-0x1f4 (1)
| | | [4]{}: local_time_type 0x1f4-0x1fa (6)
0x1f0| 00 00 9a b0 | .... | utoff: 39600 (valid) 0x1f4-0x1f8 (4)
0x1f0| 00 | . | dst: 0 (valid) 0x1f8-0x1f9 (1)
0x1f0| 08 | . | idx: 8 (valid) 0x1f9-0x1fa (1)
| | | time_zone_designations[0:3]: 0x1fa-0x206 (12)
0x1f0| 4c 4d 54 00 | LMT. | [0]: "LMT" time_zone_designation 0x1fa-0x1fe (4)
0x1f0| 2b 31| +1| [1]: "+12" time_zone_designation 0x1fe-0x202 (4)
0x200|32 00 |2. |
0x200| 2b 31 31 00 | +11. | [2]: "+11" time_zone_designation 0x202-0x206 (4)
| | | leap_second_records[0:0]: 0x206-0x206 (0)
| | | standard_wall_indicators[0:5]: 0x206-0x20b (5)
0x200| 00 | . | [0]: 0 standard_wall_indicator (valid) 0x206-0x207 (1)
0x200| 01 | . | [1]: 1 standard_wall_indicator (valid) 0x207-0x208 (1)
0x200| 01 | . | [2]: 1 standard_wall_indicator (valid) 0x208-0x209 (1)
0x200| 00 | . | [3]: 0 standard_wall_indicator (valid) 0x209-0x20a (1)
0x200| 00 | . | [4]: 0 standard_wall_indicator (valid) 0x20a-0x20b (1)
| | | ut_local_indicators[0:5]: 0x20b-0x210 (5)
0x200| 00 | . | [0]: 0 ut_local_indicator (valid) 0x20b-0x20c (1)
0x200| 01 | . | [1]: 1 ut_local_indicator (valid) 0x20c-0x20d (1)
0x200| 01 | . | [2]: 1 ut_local_indicator (valid) 0x20d-0x20e (1)
0x200| 00 | . | [3]: 0 ut_local_indicator (valid) 0x20e-0x20f (1)
0x200| 00| .| [4]: 0 ut_local_indicator (valid) 0x20f-0x210 (1)
| | | footer{}: 0x210-0x21a (10)
0x210|0a |. | nl1: 10 (valid) 0x210-0x211 (1)
0x210| 3c 2b 31 31 3e 2d 31 31 | <+11>-11 | tz_string: "<+11>-11" 0x211-0x219 (8)
0x210| 0a| | .| | nl2: 10 (valid) 0x219-0x21a (1)