plan9port

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

Strdelete.c (273B)


      1 #include "std.h"
      2 
      3 void
      4 Strdelc(String *p)
      5 {
      6 	if (p->n)
      7 		p->s[--p->n] = '\0';
      8 }
      9 
     10 void
     11 Strdelete(String *p, Posn p0, Posn p1)
     12 {
     13 	if (p0 > p1 || p1 > p->n)
     14 		sysfatal("Strdelete: bad range");
     15 	memmove(p->s + p0, p->s + p1, p->n - p1);
     16 	p->n -= p1 - p0;
     17 	p->s[p->n] = '\0';
     18 }