X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fcharray.c;h=768c167fd53c43c72da28424f3f29fbb298cafb0;hb=3d9377f76404965d483c210a95e4e55386ff98a3;hp=c8790791be00470ea8ecca4f218f5d38941d37ce;hpb=016328a1da46c975e6d9603b65947d792f4e1e64;p=openldap diff --git a/servers/slapd/charray.c b/servers/slapd/charray.c index c8790791be..768c167fd5 100644 --- a/servers/slapd/charray.c +++ b/servers/slapd/charray.c @@ -1,7 +1,7 @@ /* charray.c - routines for dealing with char * arrays */ /* $OpenLDAP$ */ /* - * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved. + * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved. * COPYING RESTRICTIONS APPLY, see COPYRIGHT file */ @@ -179,7 +179,6 @@ str2charray( const char *str_in, const char *brkstr ) return( res ); } - int charray_strcmp( const char **a1, const char **a2 ) { @@ -213,3 +212,37 @@ charray_strcasecmp( const char **a1, const char **a2 ) return 0; } +/* strcopy is like strcpy except it returns a pointer to the trailing NUL of + * the result string. This allows fast construction of catenated strings + * without the overhead of strlen/strcat. + */ +char * +slap_strcopy( + char *a, + const char *b +) +{ + if (!a || !b) + return a; + + while (*a++ = *b++) ; + return a-1; +} + +/* strncopy is like strcpy except it returns a pointer to the trailing NUL of + * the result string. This allows fast construction of catenated strings + * without the overhead of strlen/strcat. + */ +char * +slap_strncopy( + char *a, + const char *b, + size_t n +) +{ + if (!a || !b || n == 0) + return a; + + while ((*a++ = *b++) && n-- > 0) ; + return a-1; +}