about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--posix/regex_internal.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/posix/regex_internal.c b/posix/regex_internal.c
index 835406c60c..a9559e2768 100644
--- a/posix/regex_internal.c
+++ b/posix/regex_internal.c
@@ -562,14 +562,8 @@ re_string_context_at (input, idx, eflags, newline_anchor)
 	return ((eflags & REG_NOTEOL) ? CONTEXT_ENDBUF
 		: CONTEXT_NEWLINE | CONTEXT_ENDBUF);
     }
-  if (MB_CUR_MAX == 1)
-    {
-      c = re_string_byte_at (input, idx);
-      if (IS_WORD_CHAR (c))
-	return CONTEXT_WORD;
-      return (newline_anchor && IS_NEWLINE (c)) ? CONTEXT_NEWLINE : 0;
-    }
-  else
+#ifdef RE_ENABLE_I18N
+  if (MB_CUR_MAX > 1)
     {
       wint_t wc;
       int wc_idx = idx;
@@ -588,6 +582,14 @@ re_string_context_at (input, idx, eflags, newline_anchor)
 	return CONTEXT_WORD;
       return (newline_anchor && IS_WIDE_NEWLINE (wc)) ? CONTEXT_NEWLINE : 0;
     }
+  else
+#endif
+    {
+      c = re_string_byte_at (input, idx);
+      if (IS_WORD_CHAR (c))
+	return CONTEXT_WORD;
+      return (newline_anchor && IS_NEWLINE (c)) ? CONTEXT_NEWLINE : 0;
+    }
 }
 
 /* Functions for set operation.  */