summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrediano Ziglio <freddy77@gmail.com>2020-09-30 14:15:44 +0100
committerFrediano Ziglio <freddy77@gmail.com>2023-12-16 18:48:31 +0000
commite40a5b621c6b808ff425ddd65431f158072a5a1f (patch)
tree784598a5869a232cf236adba53f8211e29510c13
parent0961ea7154290b2f6f7d7f3ec78e63e55876a977 (diff)
TRY message for SRP6zero_terminated
-rw-r--r--python_modules/ptypes.py3
-rw-r--r--tests/test-marshallers.proto7
2 files changed, 9 insertions, 1 deletions
diff --git a/python_modules/ptypes.py b/python_modules/ptypes.py
index 72f608c..1838ea9 100644
--- a/python_modules/ptypes.py
+++ b/python_modules/ptypes.py
@@ -550,7 +550,8 @@ class ArrayType(Type):
return writer.writeln('SpiceChunks *%s;' % name)
if member.has_attr("as_ptr"):
len_var = member.attributes["as_ptr"][0]
- writer.writeln('uint32_t %s;' % len_var)
+ if not self.is_identifier_length() or len_var != self.size:
+ writer.writeln('uint32_t %s;' % len_var)
return writer.writeln('%s *%s;' % (self.c_type(), name))
if member.has_attr("to_ptr"):
return writer.writeln('%s *%s;' % (self.c_type(), name))
diff --git a/tests/test-marshallers.proto b/tests/test-marshallers.proto
index 6ca2d4c..7ec803f 100644
--- a/tests/test-marshallers.proto
+++ b/tests/test-marshallers.proto
@@ -35,6 +35,13 @@ channel TestChannel {
uint16 txt4_len;
uint8 txt4[txt4_len] @end @zero_terminated;
} @declare ZeroLen1;
+
+ message {
+ uint16 pwd_len;
+ uint8 pwd[pwd_len] @as_ptr(pwd_len);
+ uint16 A_len;
+ uint8 A[A_len] @as_ptr(A_len);
+ } @declare Srp;
};
protocol Spice {