From 55c1842686d2e668708cd106b5e08847df0184c3 Mon Sep 17 00:00:00 2001 From: Jamey Sharp Date: Thu, 23 Feb 2006 12:48:27 -0800 Subject: [PATCH] Move _xcb_write and _xcb_writev to xcb_out.c and make them static, since only _xcb_out_write calls them. --- src/xcb_out.c | 35 +++++++++++++++++++++++++++++++++++ src/xcb_util.c | 34 ---------------------------------- src/xcbint.h | 2 -- 3 files changed, 35 insertions(+), 36 deletions(-) diff --git a/src/xcb_out.c b/src/xcb_out.c index 62d7053..a3cb2e4 100644 --- a/src/xcb_out.c +++ b/src/xcb_out.c @@ -27,6 +27,7 @@ #include #include +#include #include #include @@ -47,6 +48,40 @@ static int force_sequence_wrap(XCBConnection *c) return ret; } +static int _xcb_write(const int fd, char (*buf)[], int *count) +{ + int n = write(fd, *buf, *count); + if(n > 0) + { + *count -= n; + if(*count) + memmove(*buf, *buf + n, *count); + } + return n; +} + +static int _xcb_writev(const int fd, struct iovec *vec, int count) +{ + int n = writev(fd, vec, count); + if(n > 0) + { + int rem = n; + for(; count; --count, ++vec) + { + int cur = vec->iov_len; + if(cur > rem) + cur = rem; + vec->iov_len -= cur; + vec->iov_base = (char *) vec->iov_base + cur; + rem -= cur; + if(vec->iov_len) + break; + } + assert(rem == 0); + } + return n; +} + /* Public interface */ CARD32 XCBGetMaximumRequestLength(XCBConnection *c) diff --git a/src/xcb_util.c b/src/xcb_util.c index b25a2d8..db3bffb 100644 --- a/src/xcb_util.c +++ b/src/xcb_util.c @@ -243,37 +243,3 @@ int _xcb_read_block(const int fd, void *buf, const size_t len) } return len; } - -int _xcb_write(const int fd, char (*buf)[], int *count) -{ - int n = write(fd, *buf, *count); - if(n > 0) - { - *count -= n; - if(*count) - memmove(*buf, *buf + n, *count); - } - return n; -} - -int _xcb_writev(const int fd, struct iovec *vec, int count) -{ - int n = writev(fd, vec, count); - if(n > 0) - { - int rem = n; - for(; count; --count, ++vec) - { - int cur = vec->iov_len; - if(cur > rem) - cur = rem; - vec->iov_len -= cur; - vec->iov_base = (char *) vec->iov_base + cur; - rem -= cur; - if(vec->iov_len) - break; - } - assert(rem == 0); - } - return n; -} diff --git a/src/xcbint.h b/src/xcbint.h index eb90fc3..402b042 100644 --- a/src/xcbint.h +++ b/src/xcbint.h @@ -84,8 +84,6 @@ void *_xcb_map_remove(_xcb_map *q, unsigned int key); int _xcb_set_fd_flags(const int fd); int _xcb_readn(const int fd, void *buf, const int buflen, int *count); int _xcb_read_block(const int fd, void *buf, const size_t len); -int _xcb_write(const int fd, char (*buf)[], int *count); -int _xcb_writev(const int fd, struct iovec *vec, int count); /* xcb_out.c */ -- 2.34.1