X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=formats%2Fctf%2Ftypes%2Fstring.c;h=5cd09d9538e4acd3e6f8470d7b8884cc356ff2dd;hp=9cfd0a094e723800c6301e16473227009642f01b;hb=bed864a75d2315c344a6e625db66ae9bfbc51e27;hpb=90b676d73fc6f817958083c0f159028a2f0b40ca diff --git a/formats/ctf/types/string.c b/formats/ctf/types/string.c index 9cfd0a09..5cd09d95 100644 --- a/formats/ctf/types/string.c +++ b/formats/ctf/types/string.c @@ -24,13 +24,21 @@ #include /* C99 limits */ #include -size_t string_copy(char *dest, const char *src) +void ctf_string_copy(struct stream_pos *dest, struct stream_pos *src, + const struct type_class_string *string_class) { - size_t len = strlen(src) + 1; + size_t len; + unsigned char *destaddr, *srcaddr; + align_pos(src, string_class->p.alignment); + srcaddr = get_pos_addr(src); + len = strlen(srcaddr) + 1; if (!dest) goto end; + align_pos(dest, string_class->p.alignment); + destaddr = get_pos_addr(dest); strcpy(dest, src); + move_pos(dest, len); end: - return len * CHAR_BIT; + move_pos(src, len); }