SS8_REPLACE(3)                   Ssstr Manual                   SS8_REPLACE(3)

NAME
       ss8_replace,   ss8_replace_cstr,   ss8_replace_bytes,   ss8_replace_ch,
       ss8_replace_ch_n - replace a portion of an ssstr  byte  string  with  a
       string or characters

SYNOPSIS
       #include <ss8str.h>

       ss8str *ss8_replace(ss8str *restrict dest, size_t pos,
                           size_t len, ss8str const *restrict src);
       ss8str *ss8_replace_cstr(ss8str *restrict dest, size_t pos,
                           size_t len, char const *restrict src);
       ss8str *ss8_replace_bytes(ss8str *restrict dest, size_t pos,
                           size_t len, char const *restrict src,
                           size_t srclen);
       ss8str *ss8_replace_ch(ss8str *dest, size_t pos,
                           size_t len, char ch);
       ss8str *ss8_replace_ch_n(ss8str *dest, size_t pos,
                           size_t len, char ch, size_t count);

DESCRIPTION
       ss8_replace()  replaces the substring of the ss8str at dest starting at
       byte position pos and having length up to len (limited by the length of
       the destination string) with the contents of the ss8str at src.  Behav‐
       ior is undefined unless dest and src point to valid and distinct ss8str
       objects and pos is less than or equal to the length of the  destination
       string.

       ss8_replace_cstr()  replaces the substring of the ss8str at dest start‐
       ing at byte position pos and having length up to len with the null-ter‐
       minated byte string src.  Behavior is undefined unless dest points to a
       valid ss8str object, pos is less than or equal to  the  length  of  the
       destination  string, and src is a null-terminated byte string that does
       not overlap with the internal buffer of dest.

       ss8_replace_bytes() replaces the substring of the ss8str at dest start‐
       ing at byte position pos and having length up  to  len  with  the  byte
       string  of  length srclen located at src.  Behavior is undefined unless
       dest points to a valid ss8str object, pos is less than or equal to  the
       length  of the destination string, and src is not NULL and points to an
       array of at least srclen bytes that does not overlap with the  internal
       buffer of dest.

       ss8_replace_ch()  replaces the substring of the ss8str at dest starting
       at byte position pos and having length up to len with the  single  byte
       ch.   Behavior is undefined unless dest points to a valid ss8str object
       and pos is less than or equal to the length of the destination string.

       ss8_replace_ch_n() replaces the substring of the ss8str at dest  start‐
       ing  at byte position pos and having length up to len with count copies
       of the byte ch.  Behavior is undefined unless dest points  to  a  valid
       ss8str object and pos is less than or equal to the length of the desti‐
       nation string.

RETURN VALUE
       All 5 functions return dest.

SEE ALSO
       ss8_cat(3), ss8_erase(3), ss8_insert(3), ssstr(7)

SSSTR                             2023-12-30                    SS8_REPLACE(3)