diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-12-04 18:59:47 -0500 | 
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-12-04 18:59:47 -0500 | 
| commit | b5f270ad0923e0e12584ca341df8fc1b11213225 (patch) | |
| tree | 54dff21d96962474736116e7c254e6c8670d6510 /lib/ptm_lib.c | |
| parent | d17ea5225bb520a94af1b149c26e1807b929ebf1 (diff) | |
lib: Allow memory to be cleaned up for error cases in ptm
ptm_lib.c had no way to cleanup after itself when an
error was detected.  This adds a function to cleanup
context in such a case.
A followup commit will use this new functionality.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'lib/ptm_lib.c')
| -rw-r--r-- | lib/ptm_lib.c | 19 | 
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/ptm_lib.c b/lib/ptm_lib.c index e881d49225..28d26149e5 100644 --- a/lib/ptm_lib.c +++ b/lib/ptm_lib.c @@ -223,6 +223,25 @@ int ptm_lib_init_msg(ptm_lib_handle_t *hdl, int cmd_id, int type, void *in_ctxt,  	return 0;  } +int ptm_lib_cleanup_msg(ptm_lib_handle_t *hdl, void *ctxt) +{ +	ptm_lib_msg_ctxt_t *p_ctxt = ctxt; +	csv_t *csv; + +	if (!p_ctxt) { +		ERRLOG("%s: no context \n", __FUNCTION__); +		return -1; +	} + +	csv = p_ctxt->csv; + +	csv_clean(csv); +	csv_free(csv); +	free(p_ctxt); + +	return 0; +} +  int ptm_lib_complete_msg(ptm_lib_handle_t *hdl, void *ctxt, char *buf, int *len)  {  	ptm_lib_msg_ctxt_t *p_ctxt = ctxt;  | 
