$NetBSD: patch-aa,v 1.5 2004/07/24 19:05:37 salo Exp $ --- modules/speller/default/speller_impl.cpp.orig Sat Jan 31 02:06:07 2004 +++ modules/speller/default/speller_impl.cpp Sat Jul 24 20:07:19 2004 @@ -239,12 +239,27 @@ } words[0].set(s.word, *i == m ? m : '\0'); words[1].clear(); +#ifndef __SUNPRO_CC if ((!check_if_valid || !c.mid_required()) // if check then !s.mid_required() && check(i, word_end, run_together_limit - 1, end_pos, words + 1)) return true; +#else + if (!check_if_valid || !c.mid_required()) { + bool bool_op; + bool_op = check(i, word_end, run_together_limit - 1, end_pos, words + 1); + if (bool_op) + return true; + } +#endif if ((check_if_valid ? *i == m : strchr(run_together_middle_, *i) != 0) && word_end - (i + 1) >= static_cast(run_together_min_)) { +#ifndef __SUNPRO_CC if (check(i+1, word_end, run_together_limit - 1, end_pos, words + 1)) +#else + bool bool_op; + bool_op = check(i+1, word_end, run_together_limit - 1, end_pos, words + 1); + if (bool_op) +#endif return true; else // already checked word (i+1) so no need to check it again ++i;