From b7fd7219ce4fc73939c912d4a02f5b8e4301ede7 Mon Sep 17 00:00:00 2001 From: Johann Latocha Date: Thu, 19 Jan 2012 17:20:02 +0100 Subject: First working version :) --- src/server/file.c | 58 ------------------------------------------------------- 1 file changed, 58 deletions(-) delete mode 100644 src/server/file.c (limited to 'src/server/file.c') diff --git a/src/server/file.c b/src/server/file.c deleted file mode 100644 index c53ca15..0000000 --- a/src/server/file.c +++ /dev/null @@ -1,58 +0,0 @@ -#include -#include -#include "file.h" - -int file_open(char *filename) -{ - int fd = open(filename, O_RDONLY); - if (fd == -1) - return -1; - - struct stat st; - if (fstat(fd, &st) == -1) - return -1; - - return fd; -} - -int file_getsize(int fd, off_t *size) -{ - *size = lseek64(fd, 0, SEEK_END); - - if (*size == -1) - return -1; - - return 0; -} - -int file_read(int fd, void *buf, size_t size, off_t pos) -{ - off_t newpos = lseek(fd, pos, SEEK_SET); - - if (newpos == -1) - return -1; - - size_t nleft = size; - ssize_t nread; - char *ptr = buf; - - while (nleft > 0) - { - if ((nread = read(fd, ptr, nleft)) < 0) - { - if (errno == EINTR) - continue; - - return -1; - } - if (nread == 0) - { - break; - } - - nleft -= nread; - ptr += nread; - } - - return 0; -} -- cgit v1.2.3-55-g7522