+ }
+ if (mt->debug)
+ wrbuf_printf (wr, "<!-- Directory offset %d: Tag %.3s -->\n",
+ entry_p, buf+entry_p);
+ /* check for digits in length info */
+ while (--l >= 3)
+ if (!isdigit(*(const unsigned char *) (buf + entry_p+l)))
+ break;
+ if (l >= 3)
+ {
+ /* not all digits, so stop directory scan */
+ wrbuf_printf (wr, "<!-- Directory offset %d: Bad data for data "
+ "length and/or length starting -->\n", entry_p);
+ break;
+ }
+ entry_p += 3 + length_data_entry + length_starting;