Пример #1
0
jt_strng* jt_strng_append(jt_strng* orig, jt_strng* append)
{
  int newlength = orig->length + append->length - 1;
  int origlength = orig->length;
  
  jt_buffer_extend(orig, newlength);
  strcpy(&((char*)orig->buffer)[origlength-1], append->buffer);

  orig->length = newlength;

  return orig;
}
Пример #2
0
jt_strng* jt_strng_append_c(jt_strng* orig, const char* append)
{
  int applen = strlen(append)+1;
  int newlength = orig->length + applen - 1;
  int origlength = orig->length;
  
  jt_buffer_extend(orig, newlength);
  strcpy(&((char*)orig->buffer)[origlength-1], append);

  orig->length = newlength;
  
  return orig;
}
Пример #3
0
uint5 loadsection(section* sec, FILE* f)
{
  sec->content = jt_buffer_new(8);

  if (sec->header.sh_size > 0)
  {
    int expectedsize = pad(sec->header.sh_size);
    if (expectedsize > 300000000)
    {
      fprintf(stderr, "Very large section! %d bytes!\n", expectedsize);
      exit(1);
    }
    jt_buffer_extend(sec->content, expectedsize);
    return fread(sec->content->buffer, expectedsize, 1, f) * expectedsize;
  }
  return 0;
}