| 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;}
 |