summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pacman/download.c2
-rw-r--r--src/pacman/util.h5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/pacman/download.c b/src/pacman/download.c
index 4cd1596a..b7799f43 100644
--- a/src/pacman/download.c
+++ b/src/pacman/download.c
@@ -451,7 +451,7 @@ int downloadfiles_forreal(list_t *servers, const char *localpath,
if(!strcmp(server->protocol, "file")) {
char out[56];
printf(" %s [", sync_fnm);
- strncpy(out, server->path, 33);
+ STRNCPY(out, server->path, 33);
printf("%s", out);
for(j = strlen(out); j < maxcols-64; j++) {
printf(" ");
diff --git a/src/pacman/util.h b/src/pacman/util.h
index 755f0b96..d48303c0 100644
--- a/src/pacman/util.h
+++ b/src/pacman/util.h
@@ -28,6 +28,11 @@
#define FREE(p) do { if (p) { free(p); (p) = NULL; }} while(0)
+#define STRNCPY(s1, s2, len) do { \
+ strncpy(s1, s2, (len)-1); \
+ s1[(len)-1] = 0; \
+} while(0)
+
int makepath(char *path);
int rmrf(char *path);
void indentprint(char *str, int indent);