From 5f1d69ac7753243b93761944e9444f01d8a7e5dd Mon Sep 17 00:00:00 2001 From: Michael Krelin Date: Fri, 14 Sep 2007 22:52:21 +0000 Subject: robustness improvements in link descovery mechanisms accept stray spaces in link tags and inside relevant attribute values. Thanks, Gen, for pointing it out. Signed-off-by: Michael Krelin --- (limited to 'lib') diff --git a/lib/consumer.cc b/lib/consumer.cc index 299b3bc..ff5da91 100644 --- a/lib/consumer.cc +++ b/lib/consumer.cc @@ -287,10 +287,10 @@ namespace opkele { if(r && r!=CURLE_WRITE_ERROR) throw exception_curl(OPKELE_CP_ "failed to curl_easy_perform()",r); // strip out everything past body - static const char *re_hdre = "]*>", - *re_lre = "]+)>", - *re_rre = "\\brel=['\"]([^'\"]+)['\"]", - *re_hre = "\\bhref=['\"]([^'\"]+)['\"]"; + static const char *re_hdre = "<\\s*head[^>]*>", + *re_lre = "<\\s*link\\b([^>]+)>", + *re_rre = "\\brel\\s*=\\s*['\"]\\s*([^'\"\\s]+)\\s*['\"]", + *re_hre = "\\bhref\\s*=\\s*['\"]\\s*([^'\"\\s]+)\\s*['\"]"; #if defined(USE_LIBPCRECPP) static pcrecpp::RE_Options ro(PCRE_CASELESS|PCRE_DOTALL); static pcrecpp::RE -- cgit v0.9.0.2