Blame


1 7f11104a 2003-12-11 devnull #include <u.h>
2 7f11104a 2003-12-11 devnull #include <libc.h>
3 7f11104a 2003-12-11 devnull #include "libString.h"
4 7f11104a 2003-12-11 devnull
5 7f11104a 2003-12-11 devnull
6 7f11104a 2003-12-11 devnull /* return a String containing a copy of the passed char array */
7 7f11104a 2003-12-11 devnull extern String*
8 7f11104a 2003-12-11 devnull s_copy(char *cp)
9 7f11104a 2003-12-11 devnull {
10 7f11104a 2003-12-11 devnull String *sp;
11 7f11104a 2003-12-11 devnull int len;
12 7f11104a 2003-12-11 devnull
13 7f11104a 2003-12-11 devnull len = strlen(cp)+1;
14 7f11104a 2003-12-11 devnull sp = s_newalloc(len);
15 7f11104a 2003-12-11 devnull setmalloctag(sp, getcallerpc(&cp));
16 7f11104a 2003-12-11 devnull strcpy(sp->base, cp);
17 7f11104a 2003-12-11 devnull sp->ptr = sp->base + len - 1; /* point to 0 terminator */
18 7f11104a 2003-12-11 devnull return sp;
19 7f11104a 2003-12-11 devnull }