Index: trunk/src/strflags.c =================================================================== --- trunk/src/strflags.c (revision 12) +++ trunk/src/strflags.c (revision 13) @@ -416,7 +416,12 @@ ASSIGN_THERM (i, layers[i], &rv); } else + if (flen == 5 && memcmp (fp, "shape", 5) == 0) { + rv.Flags.q=atoi(fp+6); + } + else + { for (i = 0; i < n_flagbits; i++) if (flagbits[i].nlen == flen && memcmp (flagbits[i].name, fp, flen) == 0) @@ -517,6 +522,13 @@ len += printed_int_length (i, GET_THERM (i, &fh)) + 1; } + if (flags.q > 0) + { + len += sizeof ("shape(.)"); + if (flags.q > 9) + len+=2; + } + bp = buf = alloc_buf (len + 2); *bp++ = '"'; @@ -547,6 +559,13 @@ bp += strlen (bp); } + if (flags.q > 0) + { + if (bp != buf + 1) + *bp++ = ','; + bp += sprintf(bp, "shape(%d)", flags.q); + } + *bp++ = '"'; *bp = 0; return buf;