Changeset 289 for trunk/lib/Trac.cc
- Timestamp:
- May 8, 2007, 2:48:07 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/Trac.cc
r288 r289 27 27 #include "HtmlStream.h" 28 28 #include "html_utility.h" 29 #include "utility.h" 29 30 30 31 namespace theplu{ … … 59 60 return false; 60 61 ++first; 61 std::string ticket; 62 for (;first!=last && isdigit(*first); ++first) 63 ticket.append(1,*first); 62 std::string ticket = match(first, last, Digit()); 64 63 65 if (ticket.empty()) 64 if (ticket.empty()) { 65 first = first_orig; 66 66 return false; 67 } 67 68 68 Configuration*conf = Configuration::instance();69 hs_.stream() << anchor(conf ->trac_ticket()+ticket,"#"+ticket);69 const Configuration& conf = Configuration::instance(); 70 hs_.stream() << anchor(conf.trac_root()+"ticket/"+ticket,"#"+ticket); 70 71 return true; 71 72 } … … 79 80 80 81 const std::string::const_iterator first_orig(first); 81 if (*first != '#') 82 83 const std::string log_str("log:"); 84 if (!match_begin(first, last, log_str)) { 85 first = first_orig; 82 86 return false; 87 } 88 first += log_str.size(); 89 std::string node = match(first, last, not2Char('#', '@')); 83 90 ++first; 84 std::string ticket; 85 for (;first!=last && isdigit(*first); ++first) 86 ticket.append(1,*first); 87 88 if (ticket.empty()) 91 std::string stop_rev = match(first, last, Digit()); 92 if (stop_rev.empty() || first == last || *first != ':') { 93 first = first_orig; 89 94 return false; 90 91 Configuration* conf = Configuration::instance(); 92 hs_.stream() << anchor(conf->trac_ticket()+ticket,"#"+ticket); 95 } 96 ++first; 97 std::string rev = match(first, last, Digit()); 98 std::string href(Configuration::instance().trac_root()+"log"+node+ 99 "?rev="+rev+"&stop_rev="+stop_rev); 100 std::string str(first_orig, first); 101 hs_.stream() << anchor(href, str); 93 102 return true; 94 103 }
Note: See TracChangeset
for help on using the changeset viewer.