void rb_zstring_append_from_zstring(rb_zstring_t *dst_zs, rb_zstring_t *src_zs) { void *ep; size_t nlen = dst_zs->len + src_zs->len; if(nlen > dst_zs->alloclen) { dst_zs->alloclen += src_zs->len + 64; dst_zs->data = rb_realloc(dst_zs->data, dst_zs->alloclen); } ep = dst_zs->data + dst_zs->len; memcpy(ep, src_zs->data, src_zs->len); }
void rb_zstring_append_from_c(rb_zstring_t *zs, const char *buf, size_t len) { void *ep; size_t nlen = zs->len + len; if(nlen > zs->alloclen) { zs->alloclen += len + 64; zs->data = rb_realloc(zs->data, zs->alloclen); } ep = zs->data + zs->len; zs->len += len; memcpy(ep, buf, len); }
static void resize_pollarray(int fd) { if(rb_unlikely(fd >= pollfd_list.allocated)) { int x, old_value = pollfd_list.allocated; pollfd_list.allocated += 1024; pollfd_list.pollfds = rb_realloc(pollfd_list.pollfds, pollfd_list.allocated * (sizeof(struct pollfd))); memset(&pollfd_list.pollfds[old_value + 1], 0, sizeof(struct pollfd) * 1024); for(x = old_value + 1; x < pollfd_list.allocated; x++) { pollfd_list.pollfds[x].fd = -1; } } }