summaryrefslogtreecommitdiffstats
path: root/generator/nanopb_generator.py
diff options
context:
space:
mode:
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>2017-02-20 15:47:44 +0200
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>2017-02-20 15:47:44 +0200
commitca74746e23b5a9e7916e8fde6632d71d61603f50 (patch)
tree7f52b0d716c54f55532c90aa931d8305b1a88ba9 /generator/nanopb_generator.py
parent473816c66b559be6850fc1ef753a7141d1848300 (diff)
Add new option max_length for strings (issue #107)
Max_size is the allocated size, so users had to add +1 for the null terminator. Max_length does the +1 automatically in the generator.
Diffstat (limited to 'generator/nanopb_generator.py')
-rwxr-xr-xgenerator/nanopb_generator.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/generator/nanopb_generator.py b/generator/nanopb_generator.py
index 6e5ebaf9..ca60c03a 100755
--- a/generator/nanopb_generator.py
+++ b/generator/nanopb_generator.py
@@ -270,6 +270,10 @@ class Field:
# Parse field options
if field_options.HasField("max_size"):
self.max_size = field_options.max_size
+
+ if desc.type == FieldD.TYPE_STRING and field_options.HasField("max_length"):
+ # max_length overrides max_size for strings
+ self.max_size = field_options.max_length + 1
if field_options.HasField("max_count"):
self.max_count = field_options.max_count