On 2022-03-02 06:51:27 [+0200], Tzvetomir Stoyanov (VMware) wrote: > Changed the tracecmd_compress_proto_register() function to use a > structure instead of list of arguments to describe new compression > protocol. That approach is more flexible and allows to extend the API in > the future without changing the already implemented protocols. > > Suggested-by: Sebastian Andrzej Siewior <sebastian@xxxxxxxxxxxxx> > Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@xxxxxxxxx> Thank you. Acked-by: Sebastian Andrzej Siewior <sebastian@xxxxxxxxxxxxx> > index a697cc61..8b9758c9 100644 > --- a/lib/trace-cmd/trace-compress-zlib.c > +++ b/lib/trace-cmd/trace-compress-zlib.c > @@ -103,7 +103,16 @@ static bool zlib_is_supported(const char *name, const char *version) > > int tracecmd_zlib_init(void) > { > - return tracecmd_compress_proto_register(__ZLIB_NAME, zlibVersion(), __ZLIB_WEIGTH, > - zlib_compress, zlib_decompress, > - zlib_compress_bound, zlib_is_supported); > + struct tracecmd_compression_proto proto; > + > + memset(&proto, 0, sizeof(proto)); > + proto.name = __ZLIB_NAME; > + proto.version = zlibVersion(); > + proto.weight = __ZLIB_WEIGTH; > + proto.compress = zlib_compress; > + proto.uncompress = zlib_decompress; > + proto.is_supported = zlib_is_supported; > + proto.compress_size = zlib_compress_bound; struct tracecmd_compression_proto proto = { .name = __ZLIB_NAME, .version = zlibVersion(), .weight = __ZLIB_WEIGTH, .compress = zlib_compress, .uncompress = zlib_decompress, .is_supported = zlib_is_supported, .compress_size = zlib_compress_bound, } this way to initialize ensures that members which are not explicitly touched are set to 0. And you don't have to type proto that often ;) > + > + return tracecmd_compress_proto_register(&proto); > } Sebastian