1 /******************************************************************************
2 * Copyright (c) 2004, 2008 IBM Corporation
3 * All rights reserved.
4 * This program and the accompanying materials
5 * are made available under the terms of the BSD License
6 * which accompanies this distribution, and is available at
7 * http://www.opensource.org/licenses/bsd-license.php
8 *
9 * Contributors:
10 * IBM Corporation - initial implementation
11 *****************************************************************************/
12
13 #include <stddef.h>
14
15 char *strncpy(char *dst, const char *src, size_t n);
strncpy(char * dst,const char * src,size_t n)16 char *strncpy(char *dst, const char *src, size_t n)
17 {
18 char *ret = dst;
19
20 /* Copy string */
21 while (*src != 0 && n > 0) {
22 *dst++ = *src++;
23 n -= 1;
24 }
25
26 /* strncpy always clears the rest of destination string... */
27 while (n > 0) {
28 *dst++ = 0;
29 n -= 1;
30 }
31
32 return ret;
33 }
34