File tree Expand file tree Collapse file tree 1 file changed +20
-0
lines changed
Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -153,22 +153,42 @@ defmodule Protobuf.Wire do
153153
154154 def decode ( :bytes , binary ) when is_binary ( binary ) , do: binary
155155
156+ def decode ( :int32 , val ) when val in @ sint32_range do
157+ val
158+ end
159+
156160 def decode ( :int32 , val ) do
161+ # not an int32 value, requires roundtrip to convert to one
157162 << n :: signed - integer - 32 >> = << val :: 32 >>
158163 n
159164 end
160165
166+ def decode ( :int64 , val ) when val in @ sint64_range do
167+ val
168+ end
169+
161170 def decode ( :int64 , val ) do
171+ # not an int64 value, requires roundtrip to convert to one
162172 << n :: signed - integer - 64 >> = << val :: 64 >>
163173 n
164174 end
165175
176+ def decode ( :uint32 , val ) when val in @ uint32_range do
177+ val
178+ end
179+
166180 def decode ( :uint32 , val ) do
181+ # not an uint32 value, requires roundtrip to convert to one
167182 << n :: unsigned - integer - 32 >> = << val :: 32 >>
168183 n
169184 end
170185
186+ def decode ( :uint64 , val ) when val in @ uint64_range do
187+ val
188+ end
189+
171190 def decode ( :uint64 , val ) do
191+ # not an uint64 value, requires roundtrip to convert to one
172192 << n :: unsigned - integer - 64 >> = << val :: 64 >>
173193 n
174194 end
You can’t perform that action at this time.
0 commit comments