diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/common/dircache.c | 9 | ||||
-rw-r--r-- | firmware/include/dircache.h | 2 |
2 files changed, 7 insertions, 4 deletions
diff --git a/firmware/common/dircache.c b/firmware/common/dircache.c index dc662bb9cd..3eae85ee3b 100644 --- a/firmware/common/dircache.c +++ b/firmware/common/dircache.c | |||
@@ -932,16 +932,19 @@ static size_t copy_path_helper(const struct dircache_entry *entry, char *buf, si | |||
932 | /** | 932 | /** |
933 | * Function to copy the full absolute path from dircache to the given buffer | 933 | * Function to copy the full absolute path from dircache to the given buffer |
934 | * using the given dircache_entry pointer. | 934 | * using the given dircache_entry pointer. |
935 | * | ||
936 | * Returns the size of the resulting string, or 0 if an error occured | ||
935 | */ | 937 | */ |
936 | void dircache_copy_path(const struct dircache_entry *entry, char *buf, int size) | 938 | size_t dircache_copy_path(const struct dircache_entry *entry, char *buf, size_t size) |
937 | { | 939 | { |
938 | if (size <= 0 || !buf) | 940 | if (!size || !buf) |
939 | return ; | 941 | return 0; |
940 | 942 | ||
941 | buf[0] = '/'; | 943 | buf[0] = '/'; |
942 | size_t res = copy_path_helper(entry, buf, size); | 944 | size_t res = copy_path_helper(entry, buf, size); |
943 | /* fixup trailing '/' */ | 945 | /* fixup trailing '/' */ |
944 | buf[res] = '\0'; | 946 | buf[res] = '\0'; |
947 | return res; | ||
945 | } | 948 | } |
946 | 949 | ||
947 | /* --- Directory cache live updating functions --- */ | 950 | /* --- Directory cache live updating functions --- */ |
diff --git a/firmware/include/dircache.h b/firmware/include/dircache.h index 49e804c7f1..716d1fbed2 100644 --- a/firmware/include/dircache.h +++ b/firmware/include/dircache.h | |||
@@ -100,7 +100,7 @@ int dircache_get_reserve_used(void); | |||
100 | int dircache_get_build_ticks(void); | 100 | int dircache_get_build_ticks(void); |
101 | void dircache_disable(void); | 101 | void dircache_disable(void); |
102 | const struct dircache_entry *dircache_get_entry_ptr(const char *filename); | 102 | const struct dircache_entry *dircache_get_entry_ptr(const char *filename); |
103 | void dircache_copy_path(const struct dircache_entry *entry, char *buf, int size); | 103 | size_t dircache_copy_path(const struct dircache_entry *entry, char *buf, size_t size); |
104 | 104 | ||
105 | void dircache_bind(int fd, const char *path); | 105 | void dircache_bind(int fd, const char *path); |
106 | void dircache_update_filesize(int fd, long newsize, long startcluster); | 106 | void dircache_update_filesize(int fd, long newsize, long startcluster); |