crossroads

Git mirror of https://crossroads.e-tunity.com/
git clone git://git.finwo.net/app/crossroads
Log | Files | Refs

strlcat.c (721B)


      1 /*************************************************************************
      2  * This file is part of Crosroads 1.23, a load balancer and fail over
      3  * utility for TCP. Copyright (c) Karel Kubat, distributed under GPL.
      4  * Visit http://crossroads.e-tunity.com for information.
      5  *************************************************************************/
      6 #ifndef HAVE_STRLCAT
      7 
      8 #include "crossroads.h"
      9 
     10 size_t strlcat (char *dst, char const *src, size_t size) {
     11     size_t bytes = 0;
     12     char *q = dst;
     13     char const *p = src;
     14     char ch;
     15     
     16     while ( bytes < size && *q ) {
     17 	q++;
     18 	bytes++;
     19     }
     20     while ( (ch = *p++) ) {
     21 	if ( bytes < size )
     22 	    *q++ = ch;
     23 	bytes++;
     24     }
     25     *q = '\0';
     26     return bytes;
     27 }  
     28 
     29 #endif