blob: 339ffff478db768562794fe2607db5c4275cb450 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
/* ISC license. */
#include <errno.h>
#include <skalibs/bytestr.h>
#include <skalibs/stralloc.h>
int stralloc_insertb (stralloc *sa, unsigned int offset, char const *s, unsigned int n)
{
if (offset > sa->len) return (errno = EINVAL, 0) ;
if (!stralloc_readyplus(sa, n)) return 0 ;
byte_copyr(sa->s + offset + n, sa->len - offset, sa->s + offset) ;
sa->len += n ;
byte_copyr(sa->s + offset, n, s) ;
return 1 ;
}
|