summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-02-09 18:44:01 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-02-10 18:24:03 +0000
commit53edc28f712c2e169fe619b95335d9c934368fcf (patch)
treedf5cb8a3745b92817329629590fa04ea6b70e7fd /android
parent2cf95d76911bd0d272fd7658b8685611909e697c (diff)
downloadmullvadvpn-53edc28f712c2e169fe619b95335d9c934368fcf.tar.xz
mullvadvpn-53edc28f712c2e169fe619b95335d9c934368fcf.zip
Unescape XML escapes when normalizing
Diffstat (limited to 'android')
-rw-r--r--android/translations-converter/src/android.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/android/translations-converter/src/android.rs b/android/translations-converter/src/android.rs
index 5329d95ea4..99257deb8a 100644
--- a/android/translations-converter/src/android.rs
+++ b/android/translations-converter/src/android.rs
@@ -10,6 +10,9 @@ lazy_static! {
static ref LINE_BREAKS: Regex = Regex::new(r"\s*\n\s*").unwrap();
static ref APOSTROPHES: Regex = Regex::new(r"\\'").unwrap();
static ref PARAMETERS: Regex = Regex::new(r"%[0-9]*\$").unwrap();
+ static ref AMPERSANDS: Regex = Regex::new(r"&amp;").unwrap();
+ static ref LESS_THANS: Regex = Regex::new(r"&lt;").unwrap();
+ static ref GREATER_THANS: Regex = Regex::new(r"&gt;").unwrap();
}
/// Contents of an Android string resources file.
@@ -118,6 +121,12 @@ impl StringResource {
let value = APOSTROPHES.replace_all(&value, "'");
// Mark where parameters are positioned, removing the parameter index
let value = PARAMETERS.replace_all(&value, "%");
+ // Unescape ampersands
+ let value = AMPERSANDS.replace_all(&value, "&");
+ // Unescape less thans
+ let value = LESS_THANS.replace_all(&value, "<");
+ // Unescape greater thans
+ let value = GREATER_THANS.replace_all(&value, ">");
self.value = value.into_owned();
}