Hans Leidekker (@hans) commented about programs/klist/main.c:
+ EXPAND_KERB_ETYPE(DES_EDE3_CBC_ENV); \ + EXPAND_KERB_ETYPE(DSA_SIGN); \ + EXPAND_KERB_ETYPE(DES3_CBC_MD5); \ + EXPAND_KERB_ETYPE(DES3_CBC_SHA1); \ + EXPAND_KERB_ETYPE(DES3_CBC_SHA1_KD); \ + EXPAND_KERB_ETYPE(DES_CBC_MD5_NT); \ + EXPAND_KERB_ETYPE(RC4_HMAC_NT); \ + EXPAND_KERB_ETYPE(RC4_HMAC_NT_EXP); \ + default: return NULL; } + +#define EXPAND_KERB_TICKET_FLAG(x, y) if (x & KERB_TICKET_FLAGS_##y) { wprintf(L" %ls", L ## #y); } + +#define EXPAND_KERB_TICKET_FLAGS(x) EXPAND_KERB_TICKET_FLAG(x, reserved) \ + EXPAND_KERB_TICKET_FLAG(x, forwardable) \ + EXPAND_KERB_TICKET_FLAG(x, forwarded) \ + EXPAND_KERB_TICKET_FLAG(x, proxiable) \ Same here, this can be inlined in tickets():
static int tickets(void)
{
...
wprintf(L" Ticket Flags: 0x%lx ->", ticket.TicketFlags);
#define EXPAND_TICKET_FLAG(x, y) if (x & KERB_TICKET_FLAGS_##y) { wprintf(L" %ls", L ## #y); }
EXPAND_TICKET_FLAG(ticket.TicketFlags, forwardable)
EXPAND_TICKET_FLAG(ticket.TicketFlags, forwarded)
...
#undef EXPAND_TICKET_FLAG
wprintf(L"\n");
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/3347#note_39271