PR-3934152.diff   [plain text]


--- src/dfa.c.orig	2005-05-11 09:45:10.000000000 -0700
+++ src/dfa.c	2005-05-11 09:46:50.000000000 -0700
@@ -1065,7 +1065,7 @@
 		  if (!match) {
 		    dfaerror(_("invalid collating element or class"));
 		  } else {
-		      if (*match && !match[1]) {
+		      if (*match && !match[1] && *match != ']') {
 			c1 = *match;
 			lexptr += used;
 			lexleft -= used;
@@ -1122,6 +1122,7 @@
 			char *match = try_collating_thing(lexptr, lexleft, &used);
 			if (match && *match && !match[1]) {
 			    c2 = *match;
+			    backslash = *match == ']';
 			    lexptr += used;
 			    lexleft -= used;
 			}