| 1 | /* $Id: kHlpStrNCat.c 3608 2007-10-29 00:49:05Z bird $ */
 | 
|---|
| 2 | /** @file
 | 
|---|
| 3 |  * kHlpString - kHlpStrNCat.
 | 
|---|
| 4 |  */
 | 
|---|
| 5 | 
 | 
|---|
| 6 | /*
 | 
|---|
| 7 |  * Copyright (c) 2006-2007 knut st. osmundsen <bird-kStuff-spam@anduin.net>
 | 
|---|
| 8 |  *
 | 
|---|
| 9 |  * This file is part of kStuff.
 | 
|---|
| 10 |  *
 | 
|---|
| 11 |  * kStuff is free software; you can redistribute it and/or
 | 
|---|
| 12 |  * modify it under the terms of the GNU Lesser General Public
 | 
|---|
| 13 |  * License as published by the Free Software Foundation; either
 | 
|---|
| 14 |  * version 2.1 of the License, or (at your option) any later version.
 | 
|---|
| 15 |  *
 | 
|---|
| 16 |  * In addition to the permissions in the GNU Lesser General Public
 | 
|---|
| 17 |  * License, you are granted unlimited permission to link the compiled
 | 
|---|
| 18 |  * version of this file into combinations with other programs, and to
 | 
|---|
| 19 |  * distribute those combinations without any restriction coming from
 | 
|---|
| 20 |  * the use of this file.
 | 
|---|
| 21 |  *
 | 
|---|
| 22 |  * kStuff is distributed in the hope that it will be useful,
 | 
|---|
| 23 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
|---|
| 24 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
|---|
| 25 |  * Lesser General Public License for more details.
 | 
|---|
| 26 |  *
 | 
|---|
| 27 |  * You should have received a copy of the GNU Lesser General Public
 | 
|---|
| 28 |  * License along with kStuff; if not, write to the Free Software
 | 
|---|
| 29 |  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 | 
|---|
| 30 |  * 02110-1301, USA
 | 
|---|
| 31 |  */
 | 
|---|
| 32 | 
 | 
|---|
| 33 | /*******************************************************************************
 | 
|---|
| 34 | *   Header Files                                                               *
 | 
|---|
| 35 | *******************************************************************************/
 | 
|---|
| 36 | #include <k/kHlpString.h>
 | 
|---|
| 37 | 
 | 
|---|
| 38 | 
 | 
|---|
| 39 | KHLP_DECL(char *) kHlpStrNCat(char *psz1, const char *psz2, KSIZE cb)
 | 
|---|
| 40 | {
 | 
|---|
| 41 |     char ch;
 | 
|---|
| 42 |     char *pszDst = psz1;
 | 
|---|
| 43 | 
 | 
|---|
| 44 |     while (*pszDst != '\0')
 | 
|---|
| 45 |         pszDst++;
 | 
|---|
| 46 |     while (cb-- > 0)
 | 
|---|
| 47 |     {
 | 
|---|
| 48 |         ch = *psz2++;
 | 
|---|
| 49 |         if (!ch)
 | 
|---|
| 50 |             break;
 | 
|---|
| 51 |         *pszDst++ = ch;
 | 
|---|
| 52 |     }
 | 
|---|
| 53 |     *pszDst = '\0';
 | 
|---|
| 54 | 
 | 
|---|
| 55 |     return psz1;
 | 
|---|
| 56 | }
 | 
|---|
| 57 | 
 | 
|---|