diff --git a/Makefile b/Makefile index b55e15f3..a8675733 100644 --- a/Makefile +++ b/Makefile @@ -42,6 +42,9 @@ debug: $(SRC) norl: $(SRC) $(CC) -DNORL $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $(BIN) $^ $(LDLIBS) +nolocale: $(SRC) + $(CC) -DNORL -DNOLOCALE $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $(BIN) $^ $(LDLIBS) + install: all $(INSTALL) -m 0755 -d $(DESTDIR)$(PREFIX)/bin $(INSTALL) -m 0755 $(BIN) $(DESTDIR)$(PREFIX)/bin diff --git a/src/nnn.c b/src/nnn.c index fbc05a15..e3e2e76c 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -74,7 +74,9 @@ #ifdef __gnu_hurd__ #define PATH_MAX 4096 #endif +#ifndef NOLOCALE #include +#endif #include #ifndef NORL #include @@ -1349,7 +1351,11 @@ static int xstricmp(const char * const s1, const char * const s2) } /* Handle 1. all non-numeric and 2. both same numeric value cases */ +#ifndef NOLOCALE return strcoll(s1, s2); +#else + return strcasecmp(s1, s2); +#endif } /* @@ -4960,8 +4966,10 @@ int main(int argc, char *argv[]) return _FAILURE; } +#ifndef NOLOCALE /* Set locale */ setlocale(LC_ALL, ""); +#endif #ifndef NORL #if RL_READLINE_VERSION >= 0x0603