mirror of
https://github.com/pantor/inja.git
synced 2026-02-17 09:03:58 +00:00
Make htmlescape function public (#300)
Co-authored-by: Berscheid <1885260+pantor@users.noreply.github.com>
This commit is contained in:
@@ -25,6 +25,25 @@
|
||||
|
||||
namespace inja {
|
||||
|
||||
/*!
|
||||
@brief Escapes HTML
|
||||
*/
|
||||
inline std::string htmlescape(const std::string& data) {
|
||||
std::string buffer;
|
||||
buffer.reserve((unsigned int)(1.1 * data.size()));
|
||||
for (size_t pos = 0; pos != data.size(); ++pos) {
|
||||
switch (data[pos]) {
|
||||
case '&': buffer.append("&"); break;
|
||||
case '\"': buffer.append("""); break;
|
||||
case '\'': buffer.append("'"); break;
|
||||
case '<': buffer.append("<"); break;
|
||||
case '>': buffer.append(">"); break;
|
||||
default: buffer.append(&data[pos], 1); break;
|
||||
}
|
||||
}
|
||||
return buffer;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Class for rendering a Template with data.
|
||||
*/
|
||||
@@ -63,22 +82,6 @@ class Renderer : public NodeVisitor {
|
||||
return !data->empty();
|
||||
}
|
||||
|
||||
static std::string htmlescape(const std::string& data) {
|
||||
std::string buffer;
|
||||
buffer.reserve((unsigned int)(1.1 * data.size()));
|
||||
for (size_t pos = 0; pos != data.size(); ++pos) {
|
||||
switch (data[pos]) {
|
||||
case '&': buffer.append("&"); break;
|
||||
case '\"': buffer.append("""); break;
|
||||
case '\'': buffer.append("'"); break;
|
||||
case '<': buffer.append("<"); break;
|
||||
case '>': buffer.append(">"); break;
|
||||
default: buffer.append(&data[pos], 1); break;
|
||||
}
|
||||
}
|
||||
return buffer;
|
||||
}
|
||||
|
||||
void print_data(const std::shared_ptr<json>& value) {
|
||||
if (value->is_string()) {
|
||||
if (config.html_autoescape) {
|
||||
|
||||
@@ -2132,6 +2132,25 @@ public:
|
||||
|
||||
namespace inja {
|
||||
|
||||
/*!
|
||||
@brief Escapes HTML
|
||||
*/
|
||||
inline std::string htmlescape(const std::string& data) {
|
||||
std::string buffer;
|
||||
buffer.reserve((unsigned int)(1.1 * data.size()));
|
||||
for (size_t pos = 0; pos != data.size(); ++pos) {
|
||||
switch (data[pos]) {
|
||||
case '&': buffer.append("&"); break;
|
||||
case '\"': buffer.append("""); break;
|
||||
case '\'': buffer.append("'"); break;
|
||||
case '<': buffer.append("<"); break;
|
||||
case '>': buffer.append(">"); break;
|
||||
default: buffer.append(&data[pos], 1); break;
|
||||
}
|
||||
}
|
||||
return buffer;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Class for rendering a Template with data.
|
||||
*/
|
||||
@@ -2170,22 +2189,6 @@ class Renderer : public NodeVisitor {
|
||||
return !data->empty();
|
||||
}
|
||||
|
||||
static std::string htmlescape(const std::string& data) {
|
||||
std::string buffer;
|
||||
buffer.reserve((unsigned int)(1.1 * data.size()));
|
||||
for (size_t pos = 0; pos != data.size(); ++pos) {
|
||||
switch (data[pos]) {
|
||||
case '&': buffer.append("&"); break;
|
||||
case '\"': buffer.append("""); break;
|
||||
case '\'': buffer.append("'"); break;
|
||||
case '<': buffer.append("<"); break;
|
||||
case '>': buffer.append(">"); break;
|
||||
default: buffer.append(&data[pos], 1); break;
|
||||
}
|
||||
}
|
||||
return buffer;
|
||||
}
|
||||
|
||||
void print_data(const std::shared_ptr<json>& value) {
|
||||
if (value->is_string()) {
|
||||
if (config.html_autoescape) {
|
||||
|
||||
Reference in New Issue
Block a user