aboutsummaryrefslogtreecommitdiff
path: root/libbb/safe_strncpy.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbb/safe_strncpy.c')
-rw-r--r--libbb/safe_strncpy.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/libbb/safe_strncpy.c b/libbb/safe_strncpy.c
new file mode 100644
index 000000000..42bc16ea0
--- /dev/null
+++ b/libbb/safe_strncpy.c
@@ -0,0 +1,21 @@
1/* vi: set sw=4 ts=4: */
2/*
3 * Utility routines.
4 *
5 * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
6 *
7 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
8 */
9
10#include <string.h>
11#include "libbb.h"
12
13
14
15/* Like strncpy but make sure the resulting string is always 0 terminated. */
16char * safe_strncpy(char *dst, const char *src, size_t size)
17{
18 if (!size) return dst;
19 dst[--size] = '\0';
20 return strncpy(dst, src, size);
21}