| 123456789101112131415161718192021222324252627282930313233343536373839 | 
							- #include <pb_decode.h>
 
- #include <stdio.h>
 
- #include <string.h>
 
- #include <assert.h>
 
- #include "test_helpers.h"
 
- #include "test.pb.h"
 
- bool stream_callback(pb_istream_t *stream, uint8_t *buf, size_t count)
 
- {
 
-     FILE *file = (FILE*)stream->state;
 
-     size_t len = fread(buf, 1, count, file);
 
-     
 
-     if (len == count)
 
-     {
 
-         return true;
 
-     }
 
-     else
 
-     {
 
-         stream->bytes_left = 0;
 
-         return false;
 
-     }
 
- }
 
- int main()
 
- {
 
-     pb_istream_t stream = {&stream_callback, NULL, SIZE_MAX};
 
-     MyMessage msg = MyMessage_init_default;
 
-     bool status;
 
-     stream.state = stdin;
 
-     SET_BINARY_MODE(stdin);
 
-     set_max_alloc_bytes(512);
 
-     status = pb_decode(&stream, MyMessage_fields, &msg);
 
-     assert(!status);
 
-     assert(strcmp(stream.errmsg, "realloc failed") == 0);
 
-     return 0;
 
- }
 
 
  |