RUNESTRCAT(3)                                       RUNESTRCAT(3)

     NAME
          runestrcat, runestrncat, runestrcmp, runestrncmp,
          runestrcpy, runestrncpy, runestrecpy, runestrlen,
          runestrchr, runestrrchr, runestrdup, runestrstr - rune
          string operations

     SYNOPSIS
          #include <u.h>
          #include <libc.h>

          Rune* runestrcat(Rune *s1, Rune *s2)

          Rune* runestrncat(Rune *s1, Rune *s2, long n)

          int   runestrcmp(Rune *s1, Rune *s2)

          int   runestrncmp(Rune *s1, Rune *s2, long n)

          Rune* runestrcpy(Rune *s1, Rune *s2)

          Rune* runestrncpy(Rune *s1, Rune *s2, long n)

          Rune* runestrecpy(Rune *s1, Rune *es1, Rune *s2)

          long  runestrlen(Rune *s)

          Rune* runestrchr(Rune *s, Rune c)

          Rune* runestrrchr(Rune *s, Rune c)

          Rune* runestrdup(Rune *s)

          Rune* runestrstr(Rune *s1, Rune *s2)

     DESCRIPTION
          These functions are rune string analogues of the correspond-
          ing functions in strcat(3).

     SOURCE
          /src/lib9

     SEE ALSO
          memory(3), rune(3), strcat(3)

     BUGS
          The outcome of overlapping moves varies among implementa-
          tions.