Mercurial > trustbridge > nss-cmake-static
comparison nspr/lib/libc/src/strcat.c @ 0:1e5118fa0cb1
This is NSS with a Cmake Buildsyste
To compile a static NSS library for Windows we've used the
Chromium-NSS fork and added a Cmake buildsystem to compile
it statically for Windows. See README.chromium for chromium
changes and README.trustbridge for our modifications.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 28 Jul 2014 10:47:06 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:1e5118fa0cb1 |
---|---|
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ | |
2 /* This Source Code Form is subject to the terms of the Mozilla Public | |
3 * License, v. 2.0. If a copy of the MPL was not distributed with this | |
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | |
5 | |
6 #include "plstr.h" | |
7 #include <string.h> | |
8 | |
9 PR_IMPLEMENT(char *) | |
10 PL_strcat(char *dest, const char *src) | |
11 { | |
12 if( ((char *)0 == dest) || ((const char *)0 == src) ) | |
13 return dest; | |
14 | |
15 return strcat(dest, src); | |
16 } | |
17 | |
18 PR_IMPLEMENT(char *) | |
19 PL_strncat(char *dest, const char *src, PRUint32 max) | |
20 { | |
21 char *rv; | |
22 | |
23 if( ((char *)0 == dest) || ((const char *)0 == src) || (0 == max) ) | |
24 return dest; | |
25 | |
26 for( rv = dest; *dest; dest++ ) | |
27 ; | |
28 | |
29 (void)PL_strncpy(dest, src, max); | |
30 return rv; | |
31 } | |
32 | |
33 PR_IMPLEMENT(char *) | |
34 PL_strcatn(char *dest, PRUint32 max, const char *src) | |
35 { | |
36 char *rv; | |
37 PRUint32 dl; | |
38 | |
39 if( ((char *)0 == dest) || ((const char *)0 == src) ) | |
40 return dest; | |
41 | |
42 for( rv = dest, dl = 0; *dest; dest++, dl++ ) | |
43 ; | |
44 | |
45 if( max <= dl ) return rv; | |
46 (void)PL_strncpyz(dest, src, max-dl); | |
47 | |
48 return rv; | |
49 } |