Commit d3ca89fe60d3044393d15a3760bebacd0faf261a

Vicent Marti 2011-05-23T21:03:01

fileops: Cleanup

diff --git a/src/fileops.c b/src/fileops.c
index 3402df4..2926734 100644
--- a/src/fileops.c
+++ b/src/fileops.c
@@ -164,7 +164,7 @@ int gitfo_read_file(gitfo_buf *obj, const char *path)
 
 	if (((size = gitfo_size(fd)) < 0) || !git__is_sizet(size+1)) {
 		gitfo_close(fd);
-		return git__throw(GIT_ERROR, "Failed to read file `%s`. Either an error occured while calculating its size or the file is too large", path);
+		return git__throw(GIT_ERROR, "Failed to read file `%s`. An error occured while calculating its size", path);
 	}
 	len = (size_t) size;
 
@@ -220,7 +220,7 @@ int gitfo_mv(const char *from, const char *to)
 #endif
 
 	if (error < GIT_SUCCESS)
-		return git__throw(error, "Failed to move file from `%s`to `%s`", from, to);
+		return git__throw(error, "Failed to move file from `%s` to `%s`", from, to);
 
 	return GIT_SUCCESS;
 }
@@ -245,97 +245,6 @@ void gitfo_free_map(git_map *out)
 	git__munmap(out);
 }
 
-/* cached diskio */
-struct gitfo_cache {
-	git_file fd;
-	size_t cache_size, pos;
-	unsigned char *cache;
-};
-
-gitfo_cache *gitfo_enable_caching(git_file fd, size_t cache_size)
-{
-	gitfo_cache *ioc;
-
-	ioc = git__malloc(sizeof(*ioc));
-	if (!ioc)
-		return NULL;
-
-	ioc->fd = fd;
-	ioc->pos = 0;
-	ioc->cache_size = cache_size;
-	ioc->cache = git__malloc(cache_size);
-	if (!ioc->cache) {
-		free(ioc);
-		return NULL;
-	}
-
-	return ioc;
-}
-
-GIT_INLINE(void) gitfo_add_to_cache(gitfo_cache *ioc, void *buf, size_t len)
-{
-	memcpy(ioc->cache + ioc->pos, buf, len);
-	ioc->pos += len;
-}
-
-int gitfo_flush_cached(gitfo_cache *ioc)
-{
-	int result = GIT_SUCCESS;
-
-	if (ioc->pos) {
-		result = gitfo_write(ioc->fd, ioc->cache, ioc->pos);
-		ioc->pos = 0;
-	}
-
-	if (result < GIT_SUCCESS)
-		return git__rethrow(result, "Failed to flush cache");
-	return result;
-}
-
-int gitfo_write_cached(gitfo_cache *ioc, void *buff, size_t len)
-{
-	unsigned char *buf = buff;
-
-	for (;;) {
-		size_t space_left = ioc->cache_size - ioc->pos;
-		/* cache if it's small */
-		if (space_left > len) {
-			gitfo_add_to_cache(ioc, buf, len);
-			return GIT_SUCCESS;
-		}
-
-		/* flush the cache if it doesn't fit */
-		if (ioc->pos) {
-			int rc;
-			gitfo_add_to_cache(ioc, buf, space_left);
-			rc = gitfo_flush_cached(ioc);
-			if (rc < 0)
-				return rc;
-
-			len -= space_left;
-			buf += space_left;
-		}
-
-		/* write too-large chunks immediately */
-		if (len > ioc->cache_size)
-			return gitfo_write(ioc->fd, buf, len);
-	}
-}
-
-int gitfo_close_cached(gitfo_cache *ioc)
-{
-	git_file fd;
-
-	if (gitfo_flush_cached(ioc) < GIT_SUCCESS)
-		return git__throw(GIT_ERROR, "Failed to close cache. Could not flush cache");
-
-	fd = ioc->fd;
-	free(ioc->cache);
-	free(ioc);
-
-	return gitfo_close(fd);
-}
-
 int gitfo_dirent(
 	char *path,
 	size_t path_sz,
diff --git a/src/fileops.h b/src/fileops.h
index 6e0fd9d..d0381b6 100644
--- a/src/fileops.h
+++ b/src/fileops.h
@@ -47,7 +47,6 @@ extern int git__fsync(int fd);
 #define GITFO_BUF_INIT {NULL, 0}
 
 typedef int git_file;
-typedef struct gitfo_cache gitfo_cache;
 
 typedef struct {  /* file io buffer  */
 	void *data;  /* data bytes   */
@@ -135,12 +134,6 @@ extern int gitfo_dirent(
 	int (*fn)(void *, char *),
 	void *state);
 
-extern gitfo_cache *gitfo_enable_caching(git_file fd, size_t cache_size);
-extern int gitfo_write_cached(gitfo_cache *ioc, void *buf, size_t len);
-extern int gitfo_flush_cached(gitfo_cache *ioc);
-extern int gitfo_close_cached(gitfo_cache *ioc);
-
-
 extern int gitfo_cmp_path(const char *name1, int len1, int isdir1,
 		const char *name2, int len2, int isdir2);