plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

Strinsert.c (263B)


      1 #include "std.h"
      2 
      3 void
      4 Strinsert(String *p, String q, Posn p0)
      5 {
      6 	if (p0 > p->n)
      7 		sysfatal("Strinsert: bad position");
      8 	Strinsure(p, p->n + q.n);
      9 	memmove(p->s + p0 + q.n, p->s + p0, p->n - p0);
     10 	memmove(p->s + p0, q.s, q.n);
     11 	p->n += q.n;
     12 	p->s[p->n] = '\0';
     13 }