.TH RUNESTRCAT 2 .SH NAME runestrcat, runestrncat, runestrcmp, runestrncmp, runestrcpy, runestrncpy, runestrecpy, runestrlen, runestrchr, runestrrchr, runestrdup, runestrstr \- rune string operations .SH SYNOPSIS .B #include .br .B #include .PP .ta \w'\fLRune* \fP'u .B Rune* runestrcat(Rune *s1, Rune *s2) .PP .B Rune* runestrncat(Rune *s1, Rune *s2, long n) .PP .B int runestrcmp(Rune *s1, Rune *s2) .PP .B int runestrncmp(Rune *s1, Rune *s2, long n) .PP .B Rune* runestrcpy(Rune *s1, Rune *s2) .PP .B Rune* runestrncpy(Rune *s1, Rune *s2, long n) .PP .B Rune* runestrecpy(Rune *s1, Rune *es1, Rune *s2) .PP .B long runestrlen(Rune *s) .PP .B Rune* runestrchr(Rune *s, Rune c) .PP .B Rune* runestrrchr(Rune *s, Rune c) .PP .B Rune* runestrdup(Rune *s) .PP .B Rune* runestrstr(Rune *s1, Rune *s2) .SH DESCRIPTION These functions are rune string analogues of the corresponding functions in .IR strcat (2). .SH SOURCE .B /sys/src/libc/port .SH SEE ALSO .IR memory (2), .IR rune (2), .IR strcat (2) .SH BUGS The outcome of overlapping moves varies among implementations.