/***********************************************************************1* *2* This software is part of the ast package *3* Copyright (c) 1985-2011 AT&T Intellectual Property *4* and is licensed under the *5* Eclipse Public License, Version 1.0 *6* by AT&T Intellectual Property *7* *8* A copy of the License is available at *9* http://www.eclipse.org/org/documents/epl-v10.html *10* (with md5 checksum b35adb5213ca9657e911e9befb180842) *11* *12* Information and Software Systems Research *13* AT&T Research *14* Florham Park NJ *15* *16* Glenn Fowler <[email protected]> *17* David Korn <[email protected]> *18* Phong Vo <[email protected]> *19* *20***********************************************************************/21#pragma prototyped22/*23* strlcpy implementation24*/2526#define strlcpy ______strlcpy2728#include <ast.h>2930#undef strlcpy3132#undef _def_map_ast33#include <ast_map.h>3435#if _lib_strlcpy3637NoN(strlcpy)3839#else4041/*42* copy at most n chars from t into s43* result 0 terminated if n>044* strlen(t) returned45*/4647#if defined(__EXPORT__)48#define extern __EXPORT__49#endif5051extern size_t52strlcpy(register char* s, register const char* t, register size_t n)53{54const char* o = t;5556if (n)57do58{59if (!--n)60{61*s = 0;62break;63}64} while (*s++ = *t++);65if (!n)66while (*t++);67return t - o - 1;68}6970#endif717273