Commit d57be38c authored by Pavel Emelyanov's avatar Pavel Emelyanov

show: Sanitze repeated fields showing routine

Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent f572bc4e
...@@ -351,7 +351,6 @@ static void pb_show_repeated(const ProtobufCFieldDescriptor *fd, pb_pr_ctl_t *ct ...@@ -351,7 +351,6 @@ static void pb_show_repeated(const ProtobufCFieldDescriptor *fd, pb_pr_ctl_t *ct
{ {
pb_pr_field_t *field = &ctl->cur; pb_pr_field_t *field = &ctl->cur;
unsigned long counter; unsigned long counter;
int done;
if (nr_fields == 0) { if (nr_fields == 0) {
pr_msg("<empty>"); pr_msg("<empty>");
...@@ -362,29 +361,21 @@ static void pb_show_repeated(const ProtobufCFieldDescriptor *fd, pb_pr_ctl_t *ct ...@@ -362,29 +361,21 @@ static void pb_show_repeated(const ProtobufCFieldDescriptor *fd, pb_pr_ctl_t *ct
void *p = field->data; void *p = field->data;
field->count = nr_fields; field->count = nr_fields;
field->data = (void *)(*(long *)p); for (counter = 0; counter < nr_fields; counter++) {
done = show(field);
if (done)
return;
for (p += fsize, counter = 0; counter < nr_fields - 1; counter++, p += fsize) {
pr_msg(":");
field->data = (void *)(*(long *)p); field->data = (void *)(*(long *)p);
show(field); show(field);
p += fsize;
} }
return; return;
} }
field->count = nr_fields; field->count = nr_fields;
done = show(field); for (counter = 0; counter < nr_fields; counter++) {
if (done) if (counter)
return; pr_msg(":");
field->data += fsize;
for (counter = 0; counter < nr_fields - 1; counter++, field->data += fsize) {
pr_msg(":");
show(field); show(field);
field->data += fsize;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment