From 9d2d02221b58f364894501019d9f2b3955e0482d Mon Sep 17 00:00:00 2001 From: TLINDEN Date: Tue, 6 May 2014 11:49:59 +0200 Subject: [PATCH] added dump function --- include/pcp/context.h | 1 + libpcp/context.c | 26 +++++++++++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/include/pcp/context.h b/include/pcp/context.h index 830824a..ec903ca 100644 --- a/include/pcp/context.h +++ b/include/pcp/context.h @@ -91,5 +91,6 @@ void fatals_reset(PCPCTX *ptx); /* same as fatal() but dies immediately */ void final(const char * fmt, ...); +void ptx_dump(PCPCTX *ptx); #endif // _HAVE_PCP_CONTEXT_H diff --git a/libpcp/context.c b/libpcp/context.c index c543303..8d8a9b6 100644 --- a/libpcp/context.c +++ b/libpcp/context.c @@ -44,14 +44,34 @@ PCPCTX *ptx_new() { } void ptx_clean(PCPCTX *ptx) { - if(ptx->pcp_errset) - free(ptx->pcp_err); - + if(ptx->pcp_errset) { + if(ptx->pcp_err != NULL) + free(ptx->pcp_err); + + } pcphash_clean(ptx); free(ptx); } +void ptx_dump(PCPCTX *ptx) { + fprintf(stderr, "ERRSET: %d\n", ptx->pcp_errset); + if(ptx->pcp_errset) + fprintf(stderr, " ERR: %s\n", ptx->pcp_err); + + fprintf(stderr, " sk:\n"); + pcp_key_t *k = NULL; + pcphash_iterate(ptx, k) { + fprintf(stderr, " id: 0x%s\n", k->id); + } + + fprintf(stderr, " pk:\n"); + pcp_pubkey_t *p = NULL; + pcphash_iteratepub(ptx, p) { + fprintf(stderr, " id: 0x%s\n", p->id); + } + +} void fatal(PCPCTX *ptx, const char * fmt, ...) { va_list ap;