X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=types%2Fstring.c;fp=types%2Fstring.c;h=796f05cd6a47f555c2584993d89956b9479adf02;hp=f8778c845052709464f110cba1099ab662ce2e59;hb=0f980a3595f61930659e392b1248c59490dd5a22;hpb=ff00cad2a14ea6dad073761b3dbb4aaa259723d0 diff --git a/types/string.c b/types/string.c index f8778c84..796f05cd 100644 --- a/types/string.c +++ b/types/string.c @@ -35,13 +35,14 @@ void string_copy(struct stream_pos *dest, const struct format *fdest, container_of(definition, struct definition_string, p); struct declaration_string *string_declaration = string->declaration; - if (fsrc->string_copy == fdest->string_copy) { + if (fdest && (fsrc->string_copy == fdest->string_copy)) { fsrc->string_copy(dest, src, string_declaration); } else { char *tmp = NULL; fsrc->string_read(&tmp, src, string_declaration); - fdest->string_write(dest, tmp, string_declaration); + if (fdest) + fdest->string_write(dest, tmp, string_declaration); fsrc->string_free_temp(tmp); } }