Compare commits

...

3 Commits

@ -321,6 +321,7 @@ typedef Uint8 BgpCapCode;
#define BGP_ATTR_LARGE_COMMUNITY U8_C(32)
#define BGP_ATTR_BGPSEC_PATH U8_C(33)
#define BGP_ATTR_COMMUNITY_CONTAINER U8_C(34)
#define BGP_ATTR_OTC U8_C(35)
#define BGP_ATTR_PREFIX_SID U8_C(40)
#define BGP_ATTR_SET U8_C(128)
#define BGP_ATTR_RESERVED U8_C(255)

@ -18,8 +18,12 @@
#include <string.h>
#include <unistd.h>
#ifdef __GNUC__
#ifdef __has_include
#if __has_include(<execinfo.h>)
#include <execinfo.h>
#define EXECINFO_AVAILABLE 1
#endif
#endif
Boolean Sys_IsDebuggerPresent(void)
@ -63,7 +67,7 @@ size_t Sys_GetBacktrace(void **dest, size_t n)
USED(dest);
USED(n);
#ifdef __GNUC__
#ifdef EXECINFO_AVAILABLE
if (n > (size_t) (INT_MAX - 1))
n = INT_MAX - 1;
@ -84,7 +88,7 @@ size_t Sys_GetBacktrace(void **dest, size_t n)
void *Sys_GetCaller(void)
{
#ifdef __GNUC__
#ifdef EXECINFO_AVAILABLE
void *trace[3]; // ourselves, caller, caller's caller
int n = backtrace(trace, ARRAY_SIZE(trace));
@ -100,7 +104,7 @@ char *Sys_GetSymbolName(void *sym)
{
USED(sym);
#ifdef __GNUC__
#ifdef EXECINFO_AVAILABLE
static THREAD_LOCAL char buf[128];
char **names = backtrace_symbols(&sym, 1);
@ -132,7 +136,7 @@ void Sys_DumpBacktrace(ConHn hn, void **trace, size_t n)
USED(trace);
USED(n);
#ifdef __GNUC__
#ifdef EXECINFO_AVAILABLE
backtrace_symbols_fd(trace, MIN(n, (size_t) INT_MAX), hn);
#endif
}

@ -211,6 +211,7 @@ static BgpAttrCode ParseBgpAttr(void)
if (Df_stricmp(tok, "LARGE_COMMUNITY") == 0) return BGP_ATTR_LARGE_COMMUNITY;
if (Df_stricmp(tok, "BGPSEC_PATH") == 0) return BGP_ATTR_BGPSEC_PATH;
if (Df_stricmp(tok, "COMMUNITY_CONTAINER") == 0) return BGP_ATTR_COMMUNITY_CONTAINER;
if (Df_stricmp(tok, "OTC") == 0) return BGP_ATTR_OTC;
if (Df_stricmp(tok, "PREFIX_SID") == 0) return BGP_ATTR_PREFIX_SID;
if (Df_stricmp(tok, "SET") == 0) return BGP_ATTR_SET;

Loading…
Cancel
Save