generate_lang_file.php : fix back-slash character handling in parse_addon_file() function

This commit is contained in:
Benjamin Renard 2015-08-21 13:04:28 +02:00
parent 6f6c6ecfec
commit bba6466eed

View file

@ -259,17 +259,22 @@ function parse_addon_file($file) {
while ($pos = strpos($line,'__(',$offset)) { while ($pos = strpos($line,'__(',$offset)) {
$quote=''; $quote='';
$res=''; $res='';
for ($i=$pos+2;$i<strlen($line);$i++) { for ($i=$pos+3;$i<strlen($line);$i++) {
if (empty($quote)) {
if ($line[$i]=='\\') { if ($line[$i]=='\\') {
$i++; $i++;
} }
elseif (empty($quote) && ($line[$i]==' ' || $line[$i]=="\t")) { elseif ($line[$i]=='"' || $line[$i]=="'") {
continue;
}
elseif (empty($quote) && ($line[$i]=='"' || $line[$i]=="'")) {
$quote=$line[$i]; $quote=$line[$i];
} }
elseif (!empty($quote) && $line[$i]==$quote) { }
elseif (!empty($quote)) {
if ($line[$i]=='\\') {
$res.=$line[$i];
$i++;
$res.=$line[$i];
}
elseif ($line[$i]==$quote) {
$offset=$i; $offset=$i;
break; break;
} }
@ -277,6 +282,7 @@ function parse_addon_file($file) {
$res.=$line[$i]; $res.=$line[$i];
} }
} }
}
if (!empty($res)) add($res); if (!empty($res)) add($res);
} }
} }