return status;
}
-int lxc_write_nointr(int fd, const void* buf, size_t count)
+ssize_t lxc_write_nointr(int fd, const void* buf, size_t count)
{
- int ret;
+ ssize_t ret;
again:
ret = write(fd, buf, count);
if (ret < 0 && errno == EINTR)
return ret;
}
-int lxc_read_nointr(int fd, void* buf, size_t count)
+ssize_t lxc_read_nointr(int fd, void* buf, size_t count)
{
- int ret;
+ ssize_t ret;
again:
ret = read(fd, buf, count);
if (ret < 0 && errno == EINTR)
return ret;
}
-int lxc_read_nointr_expect(int fd, void* buf, size_t count, const void* expected_buf)
+ssize_t lxc_read_nointr_expect(int fd, void* buf, size_t count, const void* expected_buf)
{
- int ret;
+ ssize_t ret;
ret = lxc_read_nointr(fd, buf, count);
if (ret <= 0)
return ret;
- if (ret != count)
+ if ((size_t)ret != count)
return -1;
if (expected_buf && memcmp(buf, expected_buf, count) != 0) {
errno = EINVAL;
extern int lxc_wait_for_pid_status(pid_t pid);
/* send and receive buffers completely */
-extern int lxc_write_nointr(int fd, const void* buf, size_t count);
-extern int lxc_read_nointr(int fd, void* buf, size_t count);
-extern int lxc_read_nointr_expect(int fd, void* buf, size_t count, const void* expected_buf);
+extern ssize_t lxc_write_nointr(int fd, const void* buf, size_t count);
+extern ssize_t lxc_read_nointr(int fd, void* buf, size_t count);
+extern ssize_t lxc_read_nointr_expect(int fd, void* buf, size_t count, const void* expected_buf);
#if HAVE_LIBGNUTLS
#define SHA_DIGEST_LENGTH 20
extern int sha1sum_file(char *fnam, unsigned char *md_value);