File: array_catb.c

package info (click to toggle)
libowfat 0.34-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,288 kB
  • sloc: ansic: 20,181; makefile: 16
file content (17 lines) | stat: -rw-r--r-- 377 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "array.h"
#include "byte.h"

void array_catb(array* to,const char* from,uint64 len) {
  long l;
  if (!len) return;
  if (to->allocated<0) return;
  if (to->initialized+len<to->initialized) {
fail:
    array_fail(to);
    return;
  }
  l=to->initialized;
  if (!array_allocate(to,1,to->initialized+len-1))
    goto fail;
  byte_copy(to->p+l,to->initialized-l,from);
}