Merge pull request #194 from isotes/master
authorPetteri Aimonen <jpa@github.mail.kapsi.fi>
Sat, 20 Feb 2016 14:17:51 +0000 (16:17 +0200)
committerPetteri Aimonen <jpa@github.mail.kapsi.fi>
Sat, 20 Feb 2016 14:17:51 +0000 (16:17 +0200)
Generate MIN/MAX/ARRAYSIZE for enums

generator/nanopb_generator.py

index 60dc7e8..357350f 100755 (executable)
@@ -197,6 +197,10 @@ class Enum:
 
         result += ' %s;' % self.names
 
+        result += '\n#define _%s_MIN %s' % (self.names, self.values[0][0])
+        result += '\n#define _%s_MAX %s' % (self.names, self.values[-1][0])
+        result += '\n#define _%s_ARRAYSIZE ((%s)(%s+1))' % (self.names, self.names, self.values[-1][0])
+
         if not self.options.long_names:
             # Define the long names always so that enum value references
             # from other files work properly.