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; } } }
/* rb_array_to_string() * Inverse of rb_string_to_array() * - space for delim * - ':' prefixed at last parameter */ size_t rb_array_to_string(int parc, const char **parv, char *buf, size_t max) { size_t ret = 0; if(rb_unlikely(!max)) return ret; buf[0] = '\0'; for(int i = 0; i < parc - 1; ++i) { ret = rb_strlcat(buf, parv[i], max); ret = rb_strlcat(buf, " ", max); } if(parc) { ret = rb_strlcat(buf, ":", max); ret = rb_strlcat(buf, parv[parc - 1], max); } return ret; }