aboutsummaryrefslogtreecommitdiffstats
path: root/tests/libosmo-gtlv/test_gtlv_gen/gtlv_gen_test.c
AgeCommit message (Collapse)AuthorFilesLines
2022-11-03Support building with -Werror=strict-prototypes / -Werror=old-style-definitionHarald Welte1-1/+1
Unfortunately "-std=c99" is not sufficient to make gcc ignore code that uses constructs of earlier C standards, which were abandoned in C99. See https://lwn.net/ml/fedora-devel/Y1kvF35WozzGBpc8@redhat.com/ for some related discussion. Change-Id: I79c51b78d1b055361f9ef5434361847353791d0d
2022-08-24gtlv: check memory bounds 3/3: encoding to strNeels Hofmeyr1-2/+2
See Id8d997c9d5e655ff1842ec69eab6c073875c6330 Related: CID#275417 Related: SYS#5599 Change-Id: I63d52a4f5dba32d3a3887dd9c5e42e1695fb2aa3
2022-06-16libosmo-gtlv: add C code generator for IE structs and arraysNeels Hofmeyr1-0/+261
Defining a protocol of message types with lists of IEs bears a lot of repetitive, copy-paste-error-prone writing out of data structures. Add a third layer to libosmo-gtlv, which allows helpful code generation. By non-repetitive data structures that briefly describe the protocol's messages and IEs, generate possibly repetitive IE list arrays and decoded-struct definitions automatically, avoiding grunt work errors. I tried C macros for this at first, but it became too convoluted. Generating C code that can be read and grepped makes things easier. A usage example is found in tests/libosmo-gtlv/test_gtlv_gen/. Related: SYS#5599 Change-Id: Ifb3ea54d2797ce060b95834aa117725ec2d6c4cf