diff options
author | 2017-05-02 18:29:37 +0200 | |
---|---|---|
committer | 2017-05-02 18:29:37 +0200 | |
commit | b9e1b4435a406a8a27c078ea05dee1240e51704a (patch) | |
tree | 3bd5e75d001d0c1d57710c47375af5c8ba84c26c /CAN-binder/libs/nanopb/tests/basic_stream/decode_stream.c | |
parent | 0242c26c2f5dc96387bca7efb118364c800f4ee7 (diff) |
Added external libraries from openXC CMake files.
Now libraries are cleanly included and built.
Change-Id: Iaa85639578b55b2da8357bc438426403e2cca8de
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'CAN-binder/libs/nanopb/tests/basic_stream/decode_stream.c')
-rw-r--r-- | CAN-binder/libs/nanopb/tests/basic_stream/decode_stream.c | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/CAN-binder/libs/nanopb/tests/basic_stream/decode_stream.c b/CAN-binder/libs/nanopb/tests/basic_stream/decode_stream.c deleted file mode 100644 index 798dcc5..0000000 --- a/CAN-binder/libs/nanopb/tests/basic_stream/decode_stream.c +++ /dev/null @@ -1,84 +0,0 @@ -/* Same as test_decode1 but reads from stdin directly. - */ - -#include <stdio.h> -#include <pb_decode.h> -#include "person.pb.h" -#include "test_helpers.h" - -/* This function is called once from main(), it handles - the decoding and printing. - Ugly copy-paste from test_decode1.c. */ -bool print_person(pb_istream_t *stream) -{ - int i; - Person person = Person_init_zero; - - if (!pb_decode(stream, Person_fields, &person)) - return false; - - /* Now the decoding is done, rest is just to print stuff out. */ - - printf("name: \"%s\"\n", person.name); - printf("id: %ld\n", (long)person.id); - - if (person.has_email) - printf("email: \"%s\"\n", person.email); - - for (i = 0; i < person.phone_count; i++) - { - Person_PhoneNumber *phone = &person.phone[i]; - printf("phone {\n"); - printf(" number: \"%s\"\n", phone->number); - - if (phone->has_type) - { - switch (phone->type) - { - case Person_PhoneType_WORK: - printf(" type: WORK\n"); - break; - - case Person_PhoneType_HOME: - printf(" type: HOME\n"); - break; - - case Person_PhoneType_MOBILE: - printf(" type: MOBILE\n"); - break; - } - } - printf("}\n"); - } - - return true; -} - -/* This binds the pb_istream_t to stdin */ -bool callback(pb_istream_t *stream, uint8_t *buf, size_t count) -{ - FILE *file = (FILE*)stream->state; - bool status; - - status = (fread(buf, 1, count, file) == count); - - if (feof(file)) - stream->bytes_left = 0; - - return status; -} - -int main() -{ - pb_istream_t stream = {&callback, NULL, SIZE_MAX}; - stream.state = stdin; - SET_BINARY_MODE(stdin); - - if (!print_person(&stream)) - { - printf("Parsing failed: %s\n", PB_GET_ERROR(&stream)); - return 1; - } else { - return 0; - } -} |