コード例 #1
0
ファイル: uim-helper-server.c プロジェクト: DirtYiCE/uim
static int
reflect_message_fragment(struct client *cl)
{
    ssize_t rc;
    char *msg;

    /* do read */
    rc = read(cl->fd, read_buf, sizeof(read_buf));
    if (rc == -1) {
        if (errno == EAGAIN || errno == EINTR)
            return 0;
        return -1;
    } else if (rc == 0)
        return -1;

    cl->rbuf = uim_helper_buffer_append(cl->rbuf, read_buf, rc);

    while ((msg = uim_helper_buffer_get_message(cl->rbuf))) {
        distribute_message(msg, cl);
        free(msg);
    }

    return 1;
}
コード例 #2
0
char *
uim_helper_get_message(void)
{
  return uim_helper_buffer_get_message(uim_read_buf);
}