コード例 #1
0
ファイル: poll.c プロジェクト: dequis/elemental-ircd
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;
        }
    }
}
コード例 #2
0
ファイル: tools.c プロジェクト: kamilion/charybdis
/* 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;
}