- for (i = 0; i < nsyms; )
- if (syms[i]->type_name)
- {
- int j;
- const char *jsep = "";
- fprintf (out, "%s[", isep);
- isep = ",\n";
- for (j = i; j < nsyms; ++j)
- {
- if (syms[i]->type_name != syms[j]->type_name)
- break;
- fprintf (out, "%s%d", jsep, syms[j]->number);
- jsep = ", ";
- }
- fputs ("]", out);
- i = j;
- }
- else
- ++i;
+ for (i = 0; i < nsyms; /* nothing */)
+ {
+ // The index of the first symbol of the current type-name.
+ int i0 = i;
+ fputs (i ? ",\n[" : "[", out);
+ for (; i < nsyms && syms[i]->type_name == syms[i0]->type_name; ++i)
+ fprintf (out, "%s%d", i != i0 ? ", " : "", syms[i]->number);
+ fputs ("]", out);
+ }