[hunspell-fi-devel] Lisää huomioita libvoikon koodista

Reijo Tomperi reijo.tomperi at pp2.inet.fi
Wed Apr 26 21:14:44 EEST 2006


libvoikko 0.2, voikko_hyphenate.c, voikko_simple_hyphenation() function 
alussa on seuraavanlainen koodipätkä:


    if (nchars == 0) return;
   
    word_copy = malloc((nchars + 1) * sizeof(wchar_t));
    for (i = 0; i < nchars; i++) {
        word_copy[i] = towlower(word[i]);
    }
    word_copy[nchars] = '\0';
   
    if (nchars == 1) {
        free(word_copy);
        return;
    }


Nähdäkseni koodi ei muuta nchars muuttujaa, eikä mitään muutakaan 
globaalia tai palautettavaa muuttujaa, joten miksi tuota ei ole 
kirjoitettu vain:


    if (nchars == 0 || nchars == 1) return;
   
    word_copy = malloc((nchars + 1) * sizeof(wchar_t));
    for (i = 0; i < nchars; i++) {
        word_copy[i] = towlower(word[i]);
    }
    word_copy[nchars] = '\0';


Saavutettu hyöty on taas lähinnä koodin yksinkertaistumisessa, ellei 
tuossa ollut jokin logiikkabugi taustalla.



More information about the devel mailing list