@@ -367,8 +367,7 @@ str static inline parse_attrval(document* d)
367367// puts the attributes it finds in the attribute buffer
368368str static inline parse_attributes(document* d)
369369{
370− str res;
371− res.start = d->attrs.used;
370+ int start = d->attrs.used;
372371 for (int i = 0; ; i++)
373372 {
374373 trim(d);
@@ -379,8 +378,7 @@ str static inline parse_attributes(document* d)
379378 d->attrs.attrs[d->attrs.used].value = parse_attrval(d);
380379 d->attrs.used++;
381380 }
382− res.length = d->attrs.used - res.start;
383− return res;
381+ return start_end(start, d->attrs.used);
384382}
385383
386384str parse_content(document* d);