s_copy.c 356 B

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