aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile3
-rw-r--r--src/nnn.c8
2 files changed, 11 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index b55e15f..a867573 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 fbc05a1..e3e2e76 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -74,7 +74,9 @@
#ifdef __gnu_hurd__
#define PATH_MAX 4096
#endif
+#ifndef NOLOCALE
#include <locale.h>
+#endif
#include <stdio.h>
#ifndef NORL
#include <readline/history.h>
@@ -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