Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. syntax = "proto3";
  2. package learn;
  3.  
  4. message learnmessage {
  5.  
  6. enum LearnType {
  7. ZERO = 0;
  8. ONE = 1;
  9. TWO = 2;
  10. THREE = 3;
  11. FOUR = 4;
  12. FIVE = 5;
  13. SIX = 6;
  14. }
  15. LearnType typ = 1;
  16. string text = 2;
  17. }
  18.  
  19. #include <stdio.h>
  20. #include <stdlib.h>
  21. #include "learn.pb-c.h"
  22.  
  23.  
  24. int main()
  25. {
  26. Learn__Learnmessage msg = LEARN__LEARNMESSAGE__INIT, *msgCopy;
  27. size_t len;
  28. uint8_t *msgStr;
  29.  
  30. msg.typ = LEARN__LEARNMESSAGE__LEARN_TYPE__THREE; //corresponds to enum value 3
  31. msg.text = "again";
  32.  
  33. len = learn__learnmessage__get_packed_size(&msg); //get the length of the uint8_t needed to pack the message
  34. msgStr = malloc(len * sizeof(uint8_t));
  35.  
  36. learn__learnmessage__pack(&msg, msgStr); //packs the message into msgStr
  37.  
  38. msgCopy = learn__learnmessage__unpack(NULL, len, msgStr); //unpack the message into msgCopy
  39.  
  40. printf("Orginal: %d n", msg.typ); //prints 3 (expected)
  41. printf("Copy: %d n", msgCopy->typ); //prints 0 (un-expected)
  42.  
  43.  
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement