mcabber/src/screen.c
changeset 1245 e6ddd19956eb
parent 1239 eb9fc5d6d085
child 1252 9f7e6c22cd14
equal deleted inserted replaced
1244:f7b9a00c512d 1245:e6ddd19956eb
  3355     delete_aspell_config(spell_config);
  3355     delete_aspell_config(spell_config);
  3356     spell_config = NULL;
  3356     spell_config = NULL;
  3357   }
  3357   }
  3358 }
  3358 }
  3359 
  3359 
       
  3360 #define aspell_isalpha(c) (utf8_mode ? iswalpha(get_char(c)) : isalpha(*c))
       
  3361 
  3360 // Spell checking function
  3362 // Spell checking function
  3361 static void spellcheck(char *line, char *checked)
  3363 static void spellcheck(char *line, char *checked)
  3362 {
  3364 {
  3363   const char *start, *line_start;
  3365   const char *start, *line_start;
  3364 
  3366 
  3367 
  3369 
  3368   line_start = line;
  3370   line_start = line;
  3369 
  3371 
  3370   while (*line) {
  3372   while (*line) {
  3371 
  3373 
  3372     if (!iswalpha(get_char(line))) {
  3374     if (!aspell_isalpha(line)) {
  3373       line = next_char(line);
  3375       line = next_char(line);
  3374       continue;
  3376       continue;
  3375     }
  3377     }
  3376 
  3378 
  3377     if (!strncmp(line, "http://", 7)) {
  3379     if (!strncmp(line, "http://", 7)) {
  3392       continue;
  3394       continue;
  3393     }
  3395     }
  3394 
  3396 
  3395     start = line;
  3397     start = line;
  3396 
  3398 
  3397     while (iswalpha(get_char(line)))
  3399     while (aspell_isalpha(line))
  3398       line = next_char(line);
  3400       line = next_char(line);
  3399 
  3401 
  3400     if (spell_checker &&
  3402     if (spell_checker &&
  3401         aspell_speller_check(spell_checker, start, line - start) == 0)
  3403         aspell_speller_check(spell_checker, start, line - start) == 0)
  3402       memset(&checked[start - line_start], ASPELLBADCHAR, line - start);
  3404       memset(&checked[start - line_start], ASPELLBADCHAR, line - start);