fileops: Cleanup
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
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);