summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2005-07-01 09:39:19 +0200
committerAndreas Gohr <andi@splitbrain.org>2005-07-01 09:39:19 +0200
commit6258cd9d2bd8824786e5485a93d483a1910a2dc4 (patch)
tree2f1f95ed82af24644cb252efb16b1e7c4b0b30d3
parent493a69295cd0593a35200757e54cb946f6081f51 (diff)
downloadrpg-6258cd9d2bd8824786e5485a93d483a1910a2dc4.tar.gz
rpg-6258cd9d2bd8824786e5485a93d483a1910a2dc4.tar.bz2
spellchecker fix for aspell <0.60
darcs-hash:20050701073919-7ad00-524018d3058613591acccea6691e81599e8193fb.gz
-rw-r--r--inc/aspell.php5
-rw-r--r--lib/exe/spellcheck.php10
2 files changed, 11 insertions, 4 deletions
diff --git a/inc/aspell.php b/inc/aspell.php
index 17ad4884a..72d2f8b86 100644
--- a/inc/aspell.php
+++ b/inc/aspell.php
@@ -72,6 +72,7 @@ class Aspell{
var $jargon = null;
var $encoding = 'iso8859-1';
var $mode = PSPELL_NORMAL;
+ var $version = 0;
var $args='';
@@ -195,9 +196,9 @@ class Aspell{
// versions of Aspell.
$tmp = array();
preg_match('/^\@.*Aspell (\d+)\.(\d+).(\d+)/',$out,$tmp);
- $version = $tmp[1]*1000 + $tmp[2]*10 + $tmp[3];
+ $this->version = $tmp[1]*100 + $tmp[2]*10 + $tmp[3];
- if ($version <= 603) // version 0.60.3
+ if ($this->version <= 603) // version 0.60.3
$r = $terse ? "\n*\n\$1" : "\n\$1"; // replacement for broken Aspell
else
$r = $terse ? "\n*\n" : "\n"; // replacement for good Aspell
diff --git a/lib/exe/spellcheck.php b/lib/exe/spellcheck.php
index 0a3a8403b..67448673c 100644
--- a/lib/exe/spellcheck.php
+++ b/lib/exe/spellcheck.php
@@ -165,8 +165,14 @@ function spell_check() {
}
$misspell = true;
- $len = utf8_strlen($word);
- $data[$lcnt] = utf8_substr_replace($data[$lcnt],spell_formatword($word,$sug),$off, $len);
+ //aspell < 0.60 returns singlebyte offsets
+ if($spell->version >= 600){
+ $len = utf8_strlen($word);
+ $data[$lcnt] = utf8_substr_replace($data[$lcnt],spell_formatword($word,$sug),$off, $len);
+ }else{
+ $len = strlen($word);
+ $data[$lcnt] = substr_replace($data[$lcnt],spell_formatword($word,$sug),$off, $len);
+ }
}//end of output parsing