aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--noice.c10
2 files changed, 8 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 922bf96..c2cdcad 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,7 @@
#CPPFLAGS += -DDEBUG
#CFLAGS += -g
LDLIBS = -lncursesw
+#LDLIBS += -lbsd
BIN = noice
all: $(BIN)
diff --git a/noice.c b/noice.c
index c69e85e..656ec8f 100644
--- a/noice.c
+++ b/noice.c
@@ -13,6 +13,10 @@
#include <string.h>
#include <unistd.h>
+#ifdef LINUX
+#include <bsd/string.h>
+#endif
+
#ifdef DEBUG
#define DEBUG_FD 8
#define DPRINTF_D(x) dprintf(DEBUG_FD, #x "=%d\n", x)
@@ -280,13 +284,13 @@ redraw:
/* No text wrapping in cwd line */
cwd = malloc(COLS * sizeof(char));
- strncpy(cwd, path, COLS);
+ strlcpy(cwd, path, COLS * sizeof(char));
cwd[COLS - strlen(CWD) - 1] = '\0';
/* No text wrapping in entries */
tmpents = malloc(n * sizeof(*tmpents));
for (i = 0; i < n; i++) {
- strncpy(tmpents[i].name, dents[i]->d_name,
+ strlcpy(tmpents[i].name, dents[i]->d_name,
sizeof(tmpents[i].name));
tmpents[i].name[COLS - strlen(CURSR) - 1] = '\0';
}
@@ -335,7 +339,7 @@ nochange:
dir = dirname(path);
tmp = malloc(strlen(dir) + 1);
- strncpy(tmp, dir, strlen(dir) + 1);
+ strlcpy(tmp, dir, strlen(dir) + 1);
free(path);
path = tmp;
goto out;