1 /* Tests extension fields.
8 #include "alltypes.pb.h"
9 #include "extensions.pb.h"
11 int main(int argc, char **argv)
13 AllTypes alltypes = {};
15 int32_t extensionfield1 = 12345;
16 pb_extension_t ext1 = {&AllTypes_extensionfield1, &extensionfield1, NULL};
17 alltypes.extensions = &ext1;
19 ExtensionMessage extensionfield2 = {"test", 54321};
20 pb_extension_t ext2 = {&ExtensionMessage_AllTypes_extensionfield2, &extensionfield2, NULL};
24 pb_ostream_t stream = pb_ostream_from_buffer(buffer, sizeof(buffer));
26 /* Now encode it and check if we succeeded. */
27 if (pb_encode(&stream, AllTypes_fields, &alltypes))
29 fwrite(buffer, 1, stream.bytes_written, stdout);
30 return 0; /* Success */
34 fprintf(stderr, "Encoding failed: %s\n", PB_GET_ERROR(&stream));
35 return 1; /* Failure */