summaryrefslogtreecommitdiff
path: root/lib/clippy.c
AgeCommit message (Collapse)Author
2023-03-15lib: adapt clippy to Python 3.8+ init APIDavid Lamparter
The old initialization/config API is deprecated in Python 3.11. Make clippy use the new one added in 3.8 if it's that version or newer. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-02-09*: auto-convert to SPDX License IDsDavid Lamparter
Done with a combination of regex'ing and banging my head against a wall. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-01-27*: apply proper format string attributesDavid Lamparter
So that we get warnings about broken format strings. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-05-02lib: rework how we "override" assert()David Lamparter
The previous method, using zassert.h and hoping nothing includes assert.h (which, on glibc at least, just does "#undef assert" and puts its own definition in...) was fragile - and actually broke undetected. Just provide our own assert.h and control overriding by putting it in a separate directory to add to the include path (or not.) Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-04-23*: drop zassert.hDavid Lamparter
It's not actually working properly... Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-02-20lib: Free memory leak in error path in clippyDonald Sharp
When running clippy, the main function in it's error path could leak the memory pointed to by name. Fix this. This was/is reported by clang SA. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-02-19lib: use right type for wconv() return valQuentin Young
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-02-17lib: fix some misc SA warningsQuentin Young
- clippy.c: fix valid memleak - defun_lex.l: suppress warnings in generated code - northbound_cli.c: suppress warning in eldritch libyang macro Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-02-01lib/xref: add xrefs on zlog_* callsDavid Lamparter
This allows extracting a list of all log messages including their ECs and autogenerated unique IDs for them. Signed-off-by: David Lamparter <equinox@diac24.net>
2020-04-01lib: rewrite zlog lock-free & TLS-bufferedDavid Lamparter
This is a full rewrite of the "back end" logging code. It now uses a lock-free list to iterate over logging targets, and the targets themselves are as lock-free as possible. (syslog() may have a hidden internal mutex in the C library; the file/fd targets use a single write() call which should ensure atomicity kernel-side.) Note that some functionality is lost in this patch: - Solaris printstack() backtraces are ditched (unlikely to come back) - the `log-filter` machinery is gone (re-added in followup commit) - `terminal monitor` is temporarily stubbed out. The old code had a race condition with VTYs going away. It'll likely come back rewritten and with vtysh support. - The `zebra_ext_log` hook is gone. Instead, it's now much easier to add a "proper" logging target. v2: TLS buffer to get some actual performance Signed-off-by: David Lamparter <equinox@diac24.net>
2019-06-12lib/clippy: error out on unsupported bitsDavid Lamparter
clippy can't process #ifdef or similar bits inside of an argument list (e.g. within the braces of a DEFUN or DEFPY statement.) Improve error reporting to catch these cases instead of generating broken C code. Fixes: #3840 Signed-off-by: David Lamparter <equinox@diac24.net>
2018-06-27lib: untrusted argument (Coverity 1448386)paco
Signed-off-by: F. Aragon <paco@voltanet.io>
2017-07-17*: reindentreindent-master-afterwhitespace / reindent
indent.py `git ls-files | pcregrep '\.[ch]$' | pcregrep -v '^(ldpd|babeld|nhrpd)/'` Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-06-14lib: clippy the assistantDavid Lamparter
Wraps the command parsing code for Python, so we can use it to do fancy preprocessing and replace extract.pl. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>