37static unsigned char buf[1024], rx[1024];
41 size_t bufsz =
sizeof(buf);
44 if (lite3_init_obj(buf, &buflen, bufsz) < 0
45 ||
lite3_set_str(buf, &buflen, 0, bufsz,
"event",
"lap_complete") < 0
47 ||
lite3_set_f64(buf, &buflen, 0, bufsz,
"time_sec", 88.427) < 0) {
48 perror(
"Failed to build message");
51 printf(
"buflen: %zu\n", buflen);
53 perror(
"Failed to print JSON");
57 printf(
"\nUpdating lap count\n");
59 perror(
"Failed to update lap count");
63 printf(
"Data to send:\n");
64 printf(
"buflen: %zu\n", buflen);
66 perror(
"Failed to print JSON");
71 size_t rx_buflen = buflen;
72 size_t rx_bufsz =
sizeof(rx);
73 memcpy(rx, buf, buflen);
76 printf(
"\nVerifying fastest lap\n");
77 if (
lite3_set_str(rx, &rx_buflen, 0, rx_bufsz,
"verified",
"race_control") < 0
78 ||
lite3_set_bool(rx, &rx_buflen, 0, rx_bufsz,
"fastest_lap",
true) < 0) {
79 perror(
"Failed to verify lap");
83 printf(
"Modified data:\n");
84 printf(
"rx_buflen: %zu\n", rx_buflen);
86 perror(
"Failed to print JSON");
int lite3_json_print(const unsigned char *buf, size_t buflen, size_t ofs)
Print Lite³ buffer as JSON to stdout
#define lite3_set_bool(buf, inout_buflen, ofs, bufsz, key, value)
Set boolean in object.
#define lite3_set_f64(buf, inout_buflen, ofs, bufsz, key, value)
Set floating point in object.
#define lite3_set_str(buf, inout_buflen, ofs, bufsz, key, str)
Set string in object.
#define lite3_set_i64(buf, inout_buflen, ofs, bufsz, key, value)
Set integer in object.