+ rel_start = bmstrcasestr(link_tag_start, "rel=");
+ if ((rel_start == NULL) ||
+ (rel_start > link_tag_end))
+ continue;
+
+ rel_start = strchr(rel_start, '\"');
+ if ((rel_start == NULL) ||
+ (rel_start > link_tag_end))
+ continue;
+ ++rel_start;
+ rel_end = strchr(rel_start, '\"');
+ if ((rel_end == NULL) ||
+ (rel_end == rel_start) ||
+ (rel_end >= link_tag_end) )
+ continue;
+ if (strncasecmp(rel, rel_start, repllen)!= 0)
+ continue; /* didn't match? never mind... */
+
+ href_start = bmstrcasestr(link_tag_start, "href=");
+ if ((href_start == NULL) ||
+ (href_start >= link_tag_end))
+ continue;
+ href_start = strchr(href_start, '\"');
+ if ((href_start == NULL) |
+ (href_start >= link_tag_end))
+ continue;
+ ++href_start;
+ href_end = strchr(href_start, '\"');
+ if ((href_end == NULL) ||
+ (href_end == href_start) ||
+ (href_start >= link_tag_end))
+ continue;
+ StrBufPlain(target_buf, href_start, href_end - href_start);