summaryrefslogtreecommitdiffstats
path: root/pb_encode.h
diff options
context:
space:
mode:
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>2013-03-09 14:49:15 +0200
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>2013-03-09 14:49:15 +0200
commit03526471189711f6656dfa074fc6a8fd7f3d340b (patch)
tree12e1969b04909547bf32309cfcc4c9409e24fbbc /pb_encode.h
parent9b6641ac643af4f301e05421f2b228084dcc8693 (diff)
Implement error message support for the encoder side.
Update issue 7 Status: FixedInGit
Diffstat (limited to 'pb_encode.h')
-rw-r--r--pb_encode.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/pb_encode.h b/pb_encode.h
index 69b88e86..bd6132b6 100644
--- a/pb_encode.h
+++ b/pb_encode.h
@@ -46,11 +46,22 @@ struct _pb_ostream_t
void *state; /* Free field for use by callback implementation */
size_t max_size; /* Limit number of output bytes written (or use SIZE_MAX). */
size_t bytes_written;
+
+#ifndef PB_NO_ERRMSG
+ const char *errmsg;
+#endif
};
pb_ostream_t pb_ostream_from_buffer(uint8_t *buf, size_t bufsize);
bool pb_write(pb_ostream_t *stream, const uint8_t *buf, size_t count);
+/* Stream type for use in computing message sizes */
+#ifndef PB_NO_ERRMSG
+#define PB_OSTREAM_SIZING {0,0,0,0,0}
+#else
+#define PB_OSTREAM_SIZING {0,0,0,0}
+#endif
+
/* Encode struct to given output stream.
* Returns true on success, false on any failure.
* The actual struct pointed to by src_struct must match the description in fields.