X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Ffilter_http_rewrite.cpp;h=249a7572bc89fc548775a29ed60545fc706dfb6c;hb=a258482a3b53b90b0932f4a789ba66e8e1576c05;hp=86667ca44289595f9550d75525e7799e58ab858c;hpb=58a90ea3da0cae8b9b198034736cc505e1f8273a;p=metaproxy-moved-to-github.git diff --git a/src/filter_http_rewrite.cpp b/src/filter_http_rewrite.cpp index 86667ca..249a757 100644 --- a/src/filter_http_rewrite.cpp +++ b/src/filter_http_rewrite.cpp @@ -200,9 +200,8 @@ const std::string yf::HttpRewrite::search_replace( = groups_bynum.find(i); if (it != groups_bynum.end()) { //it is - std::string name = it->second; if (!what[i].str().empty()) - vars[name] = what[i]; + vars[it->second] = what[i]; } } @@ -210,12 +209,13 @@ const std::string yf::HttpRewrite::search_replace( std::string rvalue = sub_vars(uri_pat, vars); yaz_log(YLOG_LOG, "! Rewritten '%s' to '%s'", what.str(0).c_str(), rvalue.c_str()); - out += std::string(start, what[0].first) + rvalue; + out.append(start, what[0].first); + out.append(rvalue); start = what[0].second; //move search forward } //if we had a match cat the last part if (start != txt.begin()) - out += std::string(start, end); + out.append(start, end); return out; }