#include <stdlib.h>
#include <wchar.h>
#include <wctype.h>
+#include "locale_impl.h"
#define END 0
#define UNMATCHABLE -2
* On illegal sequences we may get it wrong, but in that case
* we necessarily have a matching failure anyway. */
for (s=endstr; s>str && tailcnt; tailcnt--) {
- if (s[-1] < 128U) s--;
+ if (s[-1] < 128U || MB_CUR_MAX==1) s--;
else while ((unsigned char)*--s-0x80U<0x40 && s>str);
}
if (tailcnt) return FNM_NOMATCH;