msgbuf: Add pldm_msgbuf_copy_string_ascii()
Safely copy a NUL-terminated string between msgbuf instances.
Change-Id: I224dc3f5bbd55fd9d4727ab0de065d5253ee0bea
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
diff --git a/src/msgbuf.h b/src/msgbuf.h
index ef65be2..9c0d2ca 100644
--- a/src/msgbuf.h
+++ b/src/msgbuf.h
@@ -1190,6 +1190,21 @@
return 0;
}
+__attribute__((always_inline)) static inline int
+pldm_msgbuf_copy_string_ascii(struct pldm_msgbuf *dst, struct pldm_msgbuf *src)
+{
+ void *ascii = NULL;
+ size_t len = 0;
+ int rc;
+
+ rc = pldm_msgbuf_span_string_ascii(src, &ascii, &len);
+ if (rc < 0) {
+ return rc;
+ }
+
+ return pldm__msgbuf_insert_array_void(dst, ascii, len);
+}
+
#ifdef __cplusplus
}
#endif