/*
- * Copyright (C) 2006-2010 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2012 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
* \param buf The buffer to be sent.
* \param len The length of \a buf.
*
- * \return Standard. In any case, the number of bytes that have been written is
- * stored in \a len.
+ * \return Standard.
*/
-int write_all(int fd, const char *buf, size_t *len)
+int write_all(int fd, const char *buf, size_t len)
{
- size_t total = *len;
+ size_t total = len;
assert(total);
- *len = 0;
- while (*len < total) {
- int ret = write(fd, buf + *len, total - *len);
+ len = 0;
+ while (len < total) {
+ int ret = write(fd, buf + len, total - len);
if (ret == -1)
return -ERRNO_TO_PARA_ERROR(errno);
- *len += ret;
+ len += ret;
}
- return 1;
+ return len;
}
/**
* In any case, \a num_bytes contains the number of bytes that have been
* successfully read from \a fd (zero if the first readv() call failed with
* EAGAIN). Note that even if the function returns negative, some data might
- * have been read before the error occured. In this case \a num_bytes is
+ * have been read before the error occurred. In this case \a num_bytes is
* positive.
*
* \sa \ref write_nonblock(), read(2), readv(2).
* \sa getcwd(3).
*
*/
-int para_opendir(const char *dirname, DIR **dir, int *cwd)
+static int para_opendir(const char *dirname, DIR **dir, int *cwd)
{
int ret;
*
* \return Standard.
*/
-int para_fchdir(int fd)
+static int para_fchdir(int fd)
{
if (fchdir(fd) < 0)
return -ERRNO_TO_PARA_ERROR(errno);
int para_munmap(void *start, size_t length)
{
int err;
+
+ if (!start)
+ return 0;
if (munmap(start, length) >= 0)
return 1;
err = errno;