diff --git a/src/capwap/bstr.h b/src/capwap/bstr.h index 50f95016..16683ea4 100644 --- a/src/capwap/bstr.h +++ b/src/capwap/bstr.h @@ -3,5 +3,8 @@ extern uint8_t * bstr_create(uint8_t *data, uint8_t len); +extern uint8_t * bstr_create_from_cfgstr(const char * s); +extern uint8_t * bstr_replace( uint8_t ** dst, uint8_t * bstr); + #define bstr_len(s) (*s) diff --git a/src/capwap/bstr_replace.c b/src/capwap/bstr_replace.c index e6d9c0c4..fa011c5e 100644 --- a/src/capwap/bstr_replace.c +++ b/src/capwap/bstr_replace.c @@ -2,11 +2,11 @@ #include "bstr.h" -uint8_t * bstr_replace( uint8_t ** str, uint8_t * data, int len) +uint8_t * bstr_replace( uint8_t ** dst, uint8_t * bstr) { - if (str) - free(str); - - *str = bstr_create(data,len); - return *str; + if (*dst) + free(*dst); + + *dst = bstr; + return *dst; }