$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<int>(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;
