Re: [hunspell-fi-devel] Yhdyssanat ja CVS:n käyttöönotto
Reijo Tomperi
reijo.tomperi at pp2.inet.fi
Fri Jan 27 01:13:11 EET 2006
Harri Pitkänen wrote:
> Ongelma on
> siinä, että jos yhdyssanojen tunnistuksen ottaa käyttöön ja sitten kutsuu
> Hunspellin morph-funktiota sellaisella yhdyssanalla, jonka jälkiosa on
> taivutettu, Hunspell kaatuu.
Kaatumiset on perinteisesti helppoja korjata ilman mitään ymmärrystä
projektista. Korjaaminen onnistuu muokkaamalla affixmgr.cxx tiedostoa.
Sieltä etsii kaksi paikkaa joissa on rivi:
line_uniq(m);
Ja muuttaa rivit:
line_uniq(m);
if (strchr(m, '\n')) {
strcat(*result, "(");
strcat(*result, line_join(m, '|'));
strcat(*result, ")");
} else {
strcat(*result, m);
}
free(m);
Tähän muotoon:
if( m )
{
line_uniq(m);
if (strchr(m, '\n')) {
strcat(*result, "(");
strcat(*result, line_join(m, '|'));
strcat(*result, ")");
} else {
strcat(*result, m);
}
free(m);
}
Eli periaatteessa tarkistaa vain että onko m NULL ennenkuin käyttää
sitä.Mutta en todellakaan tiedä pitäisikö resultille tehdä jotain siinä
tapauksessa jos m on NULL. Enkä tiedä sitäkään saisiko m olla tuossa
paikassa NULL vai onko virhe tapahtunut jo aikaisemmin. Mutta ainakaan
se ei kaadu (tuohon) jos nuo korjaukset tekee. En raportoinut tästä
hunspell-projektille. Jos joku pitää tuota hyvänä korjauksena, siitä voi
minun puolestani kertoa kenelle haluaa.
More information about the devel
mailing list