Author: nextgens
Date: 2007-04-28 17:42:26 +0000 (Sat, 28 Apr 2007)
New Revision: 13029
Modified:
trunk/freenet/src/freenet/clients/http/TranslationToadlet.java
trunk/freenet/src/freenet/l10n/L10n.java
trunk/freenet/src/freenet/support/SimpleFieldSet.java
Log:
Prevent \n to be inserted into SimplefieldSets as the constructor doesn't deal
with them... Strip (\t|\n|\r)+ from l10n files
Modified: trunk/freenet/src/freenet/clients/http/TranslationToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/TranslationToadlet.java
2007-04-28 17:24:56 UTC (rev 13028)
+++ trunk/freenet/src/freenet/clients/http/TranslationToadlet.java
2007-04-28 17:42:26 UTC (rev 13029)
@@ -205,7 +205,7 @@
if(request.getPartAsString("translation_update", 32).length() >
0){
String key = request.getPartAsString("key", 256);
- L10n.setOverride(key, new
String(BucketTools.toByteArray(request.getPart("trans")), "UTF-8"));
+ L10n.setOverride(key, new
String(BucketTools.toByteArray(request.getPart("trans")), "UTF-8").trim());
redirectTo(ctx,
TOADLET_URL+"?translation_updated="+key+ (request.isPartSet("toTranslateOnly")
? "&toTranslateOnly" : ""));
return;
Modified: trunk/freenet/src/freenet/l10n/L10n.java
===================================================================
--- trunk/freenet/src/freenet/l10n/L10n.java 2007-04-28 17:24:56 UTC (rev
13028)
+++ trunk/freenet/src/freenet/l10n/L10n.java 2007-04-28 17:42:26 UTC (rev
13029)
@@ -112,6 +112,8 @@
if(("".equals(value) ||
L10n.getString(key).equals(value)) &&
!L10n.getDefaultString(key).equals(value)) {
translationOverride.removeValue(key);
} else {
+ value = value.replaceAll("(\r|\n|\t)+", "");
+
// Set the value of the override
translationOverride.putOverwrite(key, value);
Logger.normal("L10n", "Got a new translation
key: set the Override!");
Modified: trunk/freenet/src/freenet/support/SimpleFieldSet.java
===================================================================
--- trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-04-28
17:24:56 UTC (rev 13028)
+++ trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-04-28
17:42:26 UTC (rev 13029)
@@ -250,6 +250,7 @@
private synchronized final boolean put(String key, String value,
boolean allowMultiple, boolean overwrite) {
int idx;
if(value == null) return true; // valid no-op
+ if(value.indexOf('\n') != -1) throw new
IllegalArgumentException("A simplefieldSet can't accept \n !");
if((idx = key.indexOf(MULTI_LEVEL_CHAR)) == -1) {
String x = (String) values.get(key);