1
- function GetNumberBuffer (buffer , offset , proto_field )
2
- local field_size = {
3
- [fb_bool ] = 1 ,
4
- [fb_uint8 ] = 1 ,
5
- [fb_int8 ] = 1 ,
6
- [fb_uint16 ] = 2 ,
7
- [fb_int16 ] = 2 ,
8
- [fb_uint32 ] = 4 ,
9
- [fb_int32 ] = 4 ,
10
- [fb_float32 ] = 4 ,
11
- [fb_uint64 ] = 8 ,
12
- [fb_int64 ] = 8 ,
13
- [fb_float64 ] = 8
14
- }
15
-
16
- return buffer (offset , field_size [proto_field ])
17
- end
18
-
19
- local function AddFieldToTree (buffer , offset , tree , field_type , scalar_type , proto_field , default_value )
1
+ local function AddFieldToTree (buffer , offset , tree , field_type , scalar_type , field_width , default_value )
20
2
if offset == 0 then
21
3
local subtree = tree :add (field_type , default_value )
22
4
subtree :append_text (" [DEFAULT VALUE]" )
@@ -26,7 +8,7 @@ local function AddFieldToTree(buffer, offset, tree, field_type, scalar_type, pro
26
8
}
27
9
end
28
10
29
- local field_buffer = GetNumberBuffer ( buffer , offset , proto_field )
11
+ local field_buffer = buffer ( offset , field_width )
30
12
local field_value = field_buffer [" le_" .. scalar_type ](field_buffer )
31
13
return {
32
14
tree = tree :add (field_type , field_buffer , field_value ),
36
18
37
19
function Parse_Uint8 (buffer , offset , tree , field_type , default_value )
38
20
return AddFieldToTree (buffer , offset , tree , field_type , " uint" ,
39
- fb_uint8 , default_value )
21
+ 1 , default_value )
40
22
end
41
23
42
24
function Parse_Uint16 (buffer , offset , tree , field_type , default_value )
43
25
return AddFieldToTree (buffer , offset , tree , field_type , " uint" ,
44
- fb_uint16 , default_value )
26
+ 2 , default_value )
45
27
end
46
28
47
29
function Parse_Uint32 (buffer , offset , tree , field_type , default_value )
48
30
return AddFieldToTree (buffer , offset , tree , field_type , " uint" ,
49
- fb_uint32 , default_value )
31
+ 4 , default_value )
50
32
end
51
33
52
34
function Parse_Uint64 (buffer , offset , tree , field_type , default_value )
53
35
return AddFieldToTree (buffer , offset , tree , field_type , " uint64" ,
54
- fb_uint64 , default_value )
36
+ 8 , default_value )
55
37
end
56
38
57
39
function Parse_Int8 (buffer , offset , tree , field_type , default_value )
58
40
return AddFieldToTree (buffer , offset , tree , field_type ,
59
- " int" , fb_int8 , default_value )
41
+ " int" , 1 , default_value )
60
42
end
61
43
62
44
function Parse_Int16 (buffer , offset , tree , field_type , default_value )
63
45
return AddFieldToTree (buffer , offset , tree , field_type , " int" ,
64
- fb_int16 , default_value )
46
+ 2 , default_value )
65
47
end
66
48
67
49
function Parse_Int32 (buffer , offset , tree , field_type , default_value )
68
50
return AddFieldToTree (buffer , offset , tree , field_type , " int" ,
69
- fb_int32 , default_value )
51
+ 4 , default_value )
70
52
end
71
53
72
54
function Parse_Int64 (buffer , offset , tree , field_type , default_value )
73
55
return AddFieldToTree (buffer , offset , tree , field_type , " int64" ,
74
- fb_int64 , default_value )
56
+ 8 , default_value )
75
57
end
76
58
77
59
function Parse_Float32 (buffer , offset , tree , field_type , default_value )
78
60
return AddFieldToTree (buffer , offset , tree , field_type , " float" ,
79
- fb_float32 , default_value )
61
+ 4 , default_value )
80
62
end
81
63
82
64
function Parse_Float64 (buffer , offset , tree , field_type , default_value )
83
65
return AddFieldToTree (buffer , offset , tree , field_type , " double" ,
84
- fb_float64 , default_value )
66
+ 8 , default_value )
85
67
end
86
68
87
69
function Parse_Bool (buffer , offset , tree , field_type , default_value )
@@ -94,7 +76,7 @@ function Parse_Bool(buffer, offset, tree, field_type, default_value)
94
76
}
95
77
end
96
78
97
- local bool_buffer = GetNumberBuffer ( buffer , offset , fb_bool )
79
+ local bool_buffer = buffer ( offset , 1 )
98
80
local bool_value = bool_buffer :le_uint ()
99
81
return {
100
82
tree = tree :add (field_type , bool_buffer , bool_value ),
0 commit comments