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);



Reply via email to