Message ID | 1404915288-604-1-git-send-email-kwolf@redhat.com |
---|---|
State | New |
Headers | show |
On 07/09/2014 08:14 AM, Kevin Wolf wrote: > Don't forget to add a terminating '\0' or the test case will be randomly > failing. The broken code was added in commit b4900c0e. Sorry, but I prefer this solution better: https://lists.gnu.org/archive/html/qemu-devel/2014-07/msg01595.html > > Signed-off-by: Kevin Wolf <kwolf@redhat.com> > --- > tests/test-string-output-visitor.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tests/test-string-output-visitor.c b/tests/test-string-output-visitor.c > index e89e43c..f2c427f 100644 > --- a/tests/test-string-output-visitor.c > +++ b/tests/test-string-output-visitor.c > @@ -201,11 +201,11 @@ static void test_visitor_out_enum(TestOutputVisitorData *data, > visit_type_EnumOne(data->ov, &i, "unused", &err); > g_assert(!err); > > - len = strlen(EnumOne_lookup[i]) + 2; > + len = strlen(EnumOne_lookup[i]) + 3; > str_human = g_malloc0(len); > str_human[0] = '"'; > strncpy(str_human + 1, EnumOne_lookup[i], strlen(EnumOne_lookup[i])); > - str_human[len - 1] = '"'; > + str_human[len - 2] = '"'; Manually doing this when g_strdup_printf can do it as a one-liner is just lunacy.
Am 10.07.2014 um 03:41 hat Eric Blake geschrieben: > On 07/09/2014 08:14 AM, Kevin Wolf wrote: > > Don't forget to add a terminating '\0' or the test case will be randomly > > failing. The broken code was added in commit b4900c0e. > > Sorry, but I prefer this solution better: > https://lists.gnu.org/archive/html/qemu-devel/2014-07/msg01595.html Fine with me, as long as my 'make check' gets fixed. :-) Kevin
diff --git a/tests/test-string-output-visitor.c b/tests/test-string-output-visitor.c index e89e43c..f2c427f 100644 --- a/tests/test-string-output-visitor.c +++ b/tests/test-string-output-visitor.c @@ -201,11 +201,11 @@ static void test_visitor_out_enum(TestOutputVisitorData *data, visit_type_EnumOne(data->ov, &i, "unused", &err); g_assert(!err); - len = strlen(EnumOne_lookup[i]) + 2; + len = strlen(EnumOne_lookup[i]) + 3; str_human = g_malloc0(len); str_human[0] = '"'; strncpy(str_human + 1, EnumOne_lookup[i], strlen(EnumOne_lookup[i])); - str_human[len - 1] = '"'; + str_human[len - 2] = '"'; str = string_output_get_string(data->sov); g_assert(str != NULL);
Don't forget to add a terminating '\0' or the test case will be randomly failing. The broken code was added in commit b4900c0e. Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- tests/test-string-output-visitor.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)