/***********************************************************************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 prototyped2223#include <ast.h>2425#if _lib_memccpy && !_UWIN2627NoN(memccpy)2829#else3031/*32* Copy s2 to s1, stopping if character c is copied. Copy no more than n bytes.33* Return a pointer to the byte after character c in the copy,34* or 0 if c is not found in the first n bytes.35*/3637void*38memccpy(void* as1, const void* as2, register int c, size_t n)39{40register char* s1 = (char*)as1;41register const char* s2 = (char*)as2;42register const char* ep = s2 + n;4344while (s2 < ep)45if ((*s1++ = *s2++) == c)46return(s1);47return(0);48}4950#endif515253