/*jslint node: true*/
'use strict';

/**
 * Decode the value.
 *
 * @param value The value.
 * @returns The value.
 */
module.exports = function (value) {
	// Check if the value is not a string.
	if (typeof value !== 'string') {
		// Return the value.
		return value;
	}
	// Return the value.
	return value.replace(/&#([0-9]{2});/g, function (match, oct) {
		// Parse the base 10 number.
		return String.fromCharCode(parseInt(oct, 10));
	});
};
@@ -322,9 +322,11 @@
 -9%5D%7B
-2
+1,3
 %7D);/
@@ -439,8 +439,9 @@
 %0A%09%7D);%0A%7D;
+%0A

Allow decode of characters between 1 and 3 digits long