craigmcc 01/08/06 15:40:12
Modified: src/share/org/apache/struts/util Tag: STRUTS_1_0_BRANCH
MessageResources.java
Log:
Port the fix to Bugzilla #2233 to the 1.0 branch.
Revision Changes Path
No revision
No revision
1.10.2.1 +28 -5
jakarta-struts/src/share/org/apache/struts/util/MessageResources.java
Index: MessageResources.java
===================================================================
RCS file:
/home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResources.java,v
retrieving revision 1.10
retrieving revision 1.10.2.1
diff -u -r1.10 -r1.10.2.1
--- MessageResources.java 2001/04/18 23:32:35 1.10
+++ MessageResources.java 2001/08/06 22:40:12 1.10.2.1
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResources.java,v 1.10
2001/04/18 23:32:35 craigmcc Exp $
- * $Revision: 1.10 $
- * $Date: 2001/04/18 23:32:35 $
+ * $Header:
/home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResources.java,v
1.10.2.1 2001/08/06 22:40:12 craigmcc Exp $
+ * $Revision: 1.10.2.1 $
+ * $Date: 2001/08/06 22:40:12 $
*
* ====================================================================
*
@@ -89,7 +89,7 @@
* application server environments.
*
* @author Craig R. McClanahan
- * @version $Revision: 1.10 $ $Date: 2001/04/18 23:32:35 $
+ * @version $Revision: 1.10.2.1 $ $Date: 2001/08/06 22:40:12 $
*/
public abstract class MessageResources implements Serializable {
@@ -317,7 +317,7 @@
else
return ("???" + formatKey + "???");
}
- format = new MessageFormat(formatString);
+ format = new MessageFormat(escape(formatString));
formats.put(formatKey, format);
}
@@ -455,6 +455,29 @@
// ------------------------------------------------------ Protected Methods
+
+
+ /**
+ * Escape any single quote characters that are included in the specified
+ * message string.
+ *
+ * @param string The string to be escaped
+ */
+ protected String escape(String string) {
+
+ if ((string == null) || (string.indexOf('\'') < 0))
+ return (string);
+ int n = string.length();
+ StringBuffer sb = new StringBuffer(n);
+ for (int i = 0; i < n; i++) {
+ char ch = string.charAt(i);
+ if (ch == '\'')
+ sb.append('\'');
+ sb.append(ch);
+ }
+ return (sb.toString());
+
+ }
/**