More configuration options for dynamic alloc

This commit is contained in:
Petteri Aimonen
2014-03-17 17:25:58 +02:00
parent ab62402059
commit 607cb998b5
2 changed files with 17 additions and 3 deletions

14
pb.h
View File

@@ -10,6 +10,9 @@
* uncommenting the lines, or on the compiler command line. *
*****************************************************************/
/* Enable support for dynamically allocated fields */
/* #define PB_ENABLE_MALLOC 1 */
/* Define this if your CPU architecture is big endian, i.e. it
* stores the most-significant byte first. */
/* #define __BIG_ENDIAN__ 1 */
@@ -340,6 +343,17 @@ struct _pb_extension_t {
pb_extension_t *next;
};
/* Memory allocation functions to use. You can define pb_realloc and
* pb_free to custom functions if you want. */
#ifdef PB_ENABLE_MALLOC
# ifndef pb_realloc
# define pb_realloc(ptr, size) realloc(ptr, size)
# endif
# ifndef pb_free
# define pb_free(ptr) free(ptr)
# endif
#endif
/* 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)