From 906f429414678e0bcecf3c67d1f49f436bac2876 Mon Sep 17 00:00:00 2001 From: albert-github Date: Fri, 12 Jun 2020 15:28:22 +0200 Subject: Coverity uninitialized variable in mscgen_api.cpp - Initialize the variable ymax - add an extended example with "parallel events" triggered by a `,` instead of `;` between events --- libmscgen/mscgen_api.c | 1 + testing/037/037__msc_8cpp.xml | 27 +++++++++++++++++++++++++++ testing/037/class_receiver.xml | 4 ++-- testing/037/class_sender.xml | 4 ++-- testing/037_msc.cpp | 18 ++++++++++++++++++ 5 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 testing/037/037__msc_8cpp.xml diff --git a/libmscgen/mscgen_api.c b/libmscgen/mscgen_api.c index 376b9d8..e2cdcb9 100644 --- a/libmscgen/mscgen_api.c +++ b/libmscgen/mscgen_api.c @@ -457,6 +457,7 @@ static RowInfo *computeCanvasSize(Context *ctx, nextYmin = ymin = ctx->opts.entityHeadGap; yskipmax = 0; + ymax = 0; MscResetArcIterator(m); do { diff --git a/testing/037/037__msc_8cpp.xml b/testing/037/037__msc_8cpp.xml new file mode 100644 index 0000000..3de730d --- /dev/null +++ b/testing/037/037__msc_8cpp.xml @@ -0,0 +1,27 @@ + + + + 037_msc.cpp + Sender + Receiver + + + + A bit more complex msc diagram, with also parallel events. +Sender_1,Receiver_1,Sender1_1, +Sender,Receiver,Sender1, +Sender_2,Receiver_2,Sender1_2; + +Sender_1->Receiver_1 [label="Command()", URL="nref Receiver::Command()"], +Sender1_1<-Receiver_1 [label="Ack()", URL="nref Ack()", ID="1"]; + +Sender->Receiver [label="Command()", URL="nref Receiver::Command()"]; +Sender1<-Receiver [label="Ack()", URL="nref Ack()", ID="1"]; +Sender_2->Receiver_2 [label="Command()", URL="nref Receiver::Command()"], +Sender1_2<-Receiver_2 [label="Ack()", URL="nref Ack()", ID="1"]; + + + + + + diff --git a/testing/037/class_receiver.xml b/testing/037/class_receiver.xml index 24e82fd..b3c9c5a 100644 --- a/testing/037/class_receiver.xml +++ b/testing/037/class_receiver.xml @@ -19,7 +19,7 @@ - + @@ -32,7 +32,7 @@ - + Receiver diff --git a/testing/037/class_sender.xml b/testing/037/class_sender.xml index 525ab0a..14f29d1 100644 --- a/testing/037/class_sender.xml +++ b/testing/037/class_sender.xml @@ -19,7 +19,7 @@ - + @@ -32,7 +32,7 @@ - + Sender diff --git a/testing/037_msc.cpp b/testing/037_msc.cpp index 84ffc55..a3c0e4b 100644 --- a/testing/037_msc.cpp +++ b/testing/037_msc.cpp @@ -1,6 +1,24 @@ // objective: test the \msc and \endmsc commands // check: class_sender.xml // check: class_receiver.xml +// check: 037__msc_8cpp.xml + +/** \file + * A bit more complex msc diagram, with also parallel events. + * \msc + * Sender_1,Receiver_1,Sender1_1, + * Sender,Receiver,Sender1, + * Sender_2,Receiver_2,Sender1_2; + * + * Sender_1->Receiver_1 [label="Command()", URL="nref Receiver::Command()"], + * Sender1_1<-Receiver_1 [label="Ack()", URL="nref Ack()", ID="1"]; + * + * Sender->Receiver [label="Command()", URL="nref Receiver::Command()"]; + * Sender1<-Receiver [label="Ack()", URL="nref Ack()", ID="1"]; + * Sender_2->Receiver_2 [label="Command()", URL="nref Receiver::Command()"], + * Sender1_2<-Receiver_2 [label="Ack()", URL="nref Ack()", ID="1"]; + * \endmsc + */ /** Sender class. Can be used to send a command to the server. * The receiver will acknowledge the command by calling Ack(). -- cgit v0.12