summaryrefslogtreecommitdiffstats
path: root/pb.h
diff options
context:
space:
mode:
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>2014-08-19 17:55:44 +0300
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>2014-08-19 17:55:44 +0300
commit3ed219382e55885a66a462db1cf06170ce80e606 (patch)
tree980a5e89ff412f6c0dfc66adbf5134a60350fe36 /pb.h
parentbe0b9e047a007685aa10a268f9bf856e9a52ef58 (diff)
Add #if guard for .pb.h version.
The version in PB_PROTO_HEADER_VERSION can be bumped whenever there is a breaking change to the generated files, and it will then alert to the difference. Update issue 129 Status: FixedInGit
Diffstat (limited to 'pb.h')
-rw-r--r--pb.h20
1 files changed, 6 insertions, 14 deletions
diff --git a/pb.h b/pb.h
index 5edd6483..98f1d387 100644
--- a/pb.h
+++ b/pb.h
@@ -365,6 +365,9 @@ struct pb_extension_s {
# endif
#endif
+/* This is used to inform about need to regenerate .pb.h/.pb.c files. */
+#define PB_PROTO_HEADER_VERSION 30
+
/* These macros are used to declare pb_field_t's in the constant array. */
/* Size of a structure member, in bytes. */
#define pb_membersize(st, m) (sizeof ((st*)0)->m)
@@ -476,26 +479,15 @@ struct pb_extension_s {
* SINT32, SINT64, STRING, UINT32, UINT64 or EXTENSION
* - Field rules: REQUIRED, OPTIONAL or REPEATED
* - Allocation: STATIC or CALLBACK
+ * - Placement: FIRST or OTHER, depending on if this is the first field in structure.
* - Message name
* - Field name
* - Previous field name (or field name again for first field)
* - Pointer to default value or submsg fields.
*/
-#define PB_FIELD(tag, type, rules, allocation, message, field, prevfield, ptr) \
- PB_ ## rules ## _ ## allocation(tag, message, field, \
- PB_DATAOFFSET_CHOOSE(message, field, prevfield), \
- PB_LTYPE_MAP_ ## type, ptr)
-
-/* This is a new version of the macro used by nanopb generator from
- * version 0.2.3 onwards. It avoids the use of a ternary expression in
- * the initialization, which confused some compilers.
- *
- * - Placement: FIRST or OTHER, depending on if this is the first field in structure.
- *
- */
-#define PB_FIELD2(tag, type, rules, allocation, placement, message, field, prevfield, ptr) \
- PB_ ## rules ## _ ## allocation(tag, message, field, \
+#define PB_FIELD(tag, type, rules, allocation, placement, message, field, prevfield, ptr) \
+ PB_ ## rules ## _ ## allocation(tag, message, field, \
PB_DATAOFFSET_ ## placement(message, field, prevfield), \
PB_LTYPE_MAP_ ## type, ptr)