Import of the watch repository from Pebble

This commit is contained in:
Matthieu Jeanson 2024-12-12 16:43:03 -08:00 committed by Katharine Berry
commit 3b92768480
10334 changed files with 2564465 additions and 0 deletions

View file

@ -0,0 +1,14 @@
# Regression test for Issue 227:Using proto3 type fields can cause unaligned access
# NOTE: This test will only detect problems when run with clang sanitizer (which
# is done regularly by a jenkins run).
Import('env')
env.NanopbProto('unaligned_uint64')
p = env.Program(["unaligned_uint64.c",
"unaligned_uint64.pb.c",
"$COMMON/pb_encode.o",
"$COMMON/pb_common.o"])
env.RunTest(p)

View file

@ -0,0 +1,14 @@
#include "unaligned_uint64.pb.h"
#include <pb_encode.h>
int main()
{
uint8_t buf[128];
pb_ostream_t stream = pb_ostream_from_buffer(buf, sizeof(buf));
MainMessage msg = MainMessage_init_zero;
msg.bar[0] = 'A';
pb_encode(&stream, MainMessage_fields, &msg);
return 0;
}

View file

@ -0,0 +1,8 @@
syntax = "proto3";
import 'nanopb.proto';
message MainMessage {
string foo = 1 [(nanopb).max_size = 3];
string bar = 2 [(nanopb).max_size = 8];
}