red-flatbuffers 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/doc/text/news.md +12 -0
- data/lib/flatbuffers/serializer.rb +15 -4
- data/lib/flatbuffers/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2ecd36783d84b9cdaf8339a319175cee6707c293ebe1c70c3adeed7471173231
|
|
4
|
+
data.tar.gz: 20963bf01ed0aa0bf27654c34738d6c3c461715de940490c3cceb00489ec14c8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f914e057a7f61872526be9f24321c60adc0910c0a6ddb5c3792b6221763321a08b2f15449abe5305666865dc4c7abdaedc23a2fac443227aa67b3d0070d0fdc3
|
|
7
|
+
data.tar.gz: e9b2b25c8ef9acc6217913316d0de32c1613f41b1ebe4adff8dbacdad8abbc195755c28c763751050e85b4e32031b05fd9378ceb6297c65851cb1772c523f6de
|
data/doc/text/news.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# News
|
|
2
2
|
|
|
3
|
+
## 0.0.7 - 2026-03-03
|
|
4
|
+
|
|
5
|
+
### Improvements
|
|
6
|
+
|
|
7
|
+
* Aligned vector body with 8 byte for FlatCC verification.
|
|
8
|
+
|
|
9
|
+
## 0.0.6 - 2026-02-25
|
|
10
|
+
|
|
11
|
+
### Fixes
|
|
12
|
+
|
|
13
|
+
* Added missing alignment of string values.
|
|
14
|
+
|
|
3
15
|
## 0.0.5 - 2026-01-19
|
|
4
16
|
|
|
5
17
|
### Improvements
|
|
@@ -120,6 +120,7 @@ module FlatBuffers
|
|
|
120
120
|
add_field_array(field, value)
|
|
121
121
|
when :string
|
|
122
122
|
align!(@table, View::OFFSET_SIZE)
|
|
123
|
+
align!(@values, View::OFFSET_SIZE)
|
|
123
124
|
@field_metadata[field] = {
|
|
124
125
|
inline: false,
|
|
125
126
|
table_offset: @table.bytesize,
|
|
@@ -237,10 +238,20 @@ module FlatBuffers
|
|
|
237
238
|
|
|
238
239
|
def add_field_array(field, value)
|
|
239
240
|
align!(@table, View::OFFSET_SIZE)
|
|
240
|
-
|
|
241
|
+
|
|
242
|
+
# Vector body must be aligned with 8 byte. Vector is
|
|
243
|
+
# serialized as |length|body|. `length` is uoffset_t
|
|
244
|
+
# (uint32_t) and its size is 4 byte. So we need to align
|
|
245
|
+
# `@values` with 8 byte and pad the first 4 byte:
|
|
246
|
+
# |4 byte padding|length (4 byte)|body (8 byte aligned)|
|
|
247
|
+
vector_body_alignment = 8
|
|
248
|
+
vector_length_pack_string = "L<"
|
|
249
|
+
vector_length_size = 4
|
|
250
|
+
align!(@values, vector_body_alignment)
|
|
251
|
+
pad!(@values, vector_body_alignment - vector_length_size)
|
|
241
252
|
value_offset = @values.bytesize
|
|
242
|
-
|
|
243
|
-
|
|
253
|
+
@values.append_as_bytes([value.size].pack(vector_length_pack_string))
|
|
254
|
+
|
|
244
255
|
element_base_type = field.base_type[0]
|
|
245
256
|
case element_base_type
|
|
246
257
|
when String
|
|
@@ -260,7 +271,7 @@ module FlatBuffers
|
|
|
260
271
|
value.each do |v|
|
|
261
272
|
sub_table_serializer = TableSerializer.new
|
|
262
273
|
sub_table_data, sub_table_offset =
|
|
263
|
-
|
|
274
|
+
klass.serialize(v, sub_table_serializer)
|
|
264
275
|
|
|
265
276
|
element_offset = @values.bytesize + sub_table_offset
|
|
266
277
|
# Update offset placeholder.
|
data/lib/flatbuffers/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: red-flatbuffers
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sutou Kouhei
|
|
@@ -63,7 +63,7 @@ licenses:
|
|
|
63
63
|
- Apache-2.0
|
|
64
64
|
metadata:
|
|
65
65
|
bug_tracker_uri: https://github.com/red-data-tools/red-flatbuffers/issues
|
|
66
|
-
changelog_uri: https://github.com/red-data-tools/red-flatbuffers/releases/tag/0.0.
|
|
66
|
+
changelog_uri: https://github.com/red-data-tools/red-flatbuffers/releases/tag/0.0.7
|
|
67
67
|
source_code_uri: https://github.com/red-data-tools/red-flatbuffers
|
|
68
68
|
rdoc_options: []
|
|
69
69
|
require_paths:
|