diff --git a/change_log.txt b/change_log.txt
index 6c9d8da5..59d2d92b 100644
--- a/change_log.txt
+++ b/change_log.txt
@@ -2,6 +2,7 @@
23.07.2016
- bugfix setTemplateDir('/') and setTemplateDir('') did create wrong absolute filepath https://github.com/smarty-php/smarty/issues/245
- optimization of filepath normalization
+ - improvement remove double funtion declaration in plugin shared.escape_special_cars.php https://github.com/smarty-php/smarty/issues/229
19.07.2016
- bugfix multiple {include} with relative filepath within {block}{/block} could fail https://github.com/smarty-php/smarty/issues/246
diff --git a/libs/plugins/shared.escape_special_chars.php b/libs/plugins/shared.escape_special_chars.php
index d3bd756b..b68fe4b9 100644
--- a/libs/plugins/shared.escape_special_chars.php
+++ b/libs/plugins/shared.escape_special_chars.php
@@ -6,48 +6,29 @@
* @subpackage PluginsShared
*/
-if (version_compare(PHP_VERSION, '5.2.3', '>=')) {
- /**
- * escape_special_chars common function
- * Function: smarty_function_escape_special_chars
- * Purpose: used by other smarty functions to escape
- * special chars except for already escaped ones
- *
- * @author Monte Ohrt
- *
- * @param string $string text that should by escaped
- *
- * @return string
- */
- function smarty_function_escape_special_chars($string)
- {
- if (!is_array($string)) {
+/**
+ * escape_special_chars common function
+ * Function: smarty_function_escape_special_chars
+ * Purpose: used by other smarty functions to escape
+ * special chars except for already escaped ones
+ *
+ * @author Monte Ohrt
+ *
+ * @param string $string text that should by escaped
+ *
+ * @return string
+ */
+function smarty_function_escape_special_chars($string)
+{
+ if (!is_array($string)) {
+ if (version_compare(PHP_VERSION, '5.2.3', '>=')) {
$string = htmlspecialchars($string, ENT_COMPAT, Smarty::$_CHARSET, false);
- }
-
- return $string;
- }
-} else {
- /**
- * escape_special_chars common function
- * Function: smarty_function_escape_special_chars
- * Purpose: used by other smarty functions to escape
- * special chars except for already escaped ones
- *
- * @author Monte Ohrt
- *
- * @param string $string text that should by escaped
- *
- * @return string
- */
- function smarty_function_escape_special_chars($string)
- {
- if (!is_array($string)) {
+ } else {
$string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string);
$string = htmlspecialchars($string);
$string = str_replace(array('%%%SMARTY_START%%%', '%%%SMARTY_END%%%'), array('&', ';'), $string);
}
-
- return $string;
}
+
+ return $string;
}