diff options
author | Ole Troan <ot@cisco.com> | 2019-06-12 14:28:14 +0200 |
---|---|---|
committer | Paul Vinciguerra <pvinci@vinciconsulting.com> | 2019-06-18 11:47:21 +0000 |
commit | 283cd2e9afcab1407d5614d79da4354790fa059a (patch) | |
tree | 21ff50ec22a5f9989bfdee76fcbb418ada91232f /src/vlibapi/api_types.h | |
parent | a8c0b62a88494e9a8562c57dfd3fd75818a629a7 (diff) |
api: string type to convert to vector
Previous use of strndup() required user to remember to call free().
Now return a vector pointing directly to the API message string.
Of course user must remember to copy the string out if lifetime
is longer than API message lifetime.
Change-Id: Ib5e2b3d52d258e1a42ea9ea9a9e04abbe360e2bf
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Diffstat (limited to 'src/vlibapi/api_types.h')
-rw-r--r-- | src/vlibapi/api_types.h | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/src/vlibapi/api_types.h b/src/vlibapi/api_types.h index 406ccfa6745..0289a417c79 100644 --- a/src/vlibapi/api_types.h +++ b/src/vlibapi/api_types.h @@ -31,31 +31,4 @@ typedef struct u8 buf[0]; } __attribute__ ((packed)) vl_api_string_t; -static inline int -vl_api_to_api_string (u32 len, const char *buf, vl_api_string_t * str) -{ - memcpy(str->buf, buf, len); - str->length = htonl (len); - return len + sizeof (u32); -} - -/* Return a pointer to the API string (not nul terminated */ -static inline u8 * -vl_api_from_api_string (vl_api_string_t * astr) -{ - return astr->buf; -} - -static inline u32 -vl_api_string_len (vl_api_string_t * astr) -{ - return ntohl (astr->length); -} - -static inline char * -vl_api_from_api_string_c (vl_api_string_t *astr) -{ - return strndup((char *)astr->buf, ntohl (astr->length)); -} - #endif |