commit 133f55170bdd33fe53d397faa011d9aee00c4c3d
parent 241a261531280ba8e925d93314af117dfc97dcd3
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date: Fri, 4 Oct 2019 07:43:07 +0530
Target nolocale: saves more on memory
Diffstat:
2 files changed, 11 insertions(+), 0 deletions(-)
diff --git 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
@@ -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