Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/spiffs.h
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ struct spiffs_t;
/* spi read call function type */
typedef s32_t (*spiffs_read)(struct spiffs_t *fs, u32_t addr, u32_t size, u8_t *dst);
/* spi write call function type */
typedef s32_t (*spiffs_write)(struct spiffs_t *fs, u32_t addr, u32_t size, u8_t *src);
typedef s32_t (*spiffs_write)(struct spiffs_t *fs, u32_t addr, u32_t size, const u8_t *src);
/* spi erase call function type */
typedef s32_t (*spiffs_erase)(struct spiffs_t *fs, u32_t addr, u32_t size);

Expand All @@ -86,7 +86,7 @@ typedef s32_t (*spiffs_erase)(struct spiffs_t *fs, u32_t addr, u32_t size);
/* spi read call function type */
typedef s32_t (*spiffs_read)(u32_t addr, u32_t size, u8_t *dst);
/* spi write call function type */
typedef s32_t (*spiffs_write)(u32_t addr, u32_t size, u8_t *src);
typedef s32_t (*spiffs_write)(u32_t addr, u32_t size, const u8_t *src);
/* spi erase call function type */
typedef s32_t (*spiffs_erase)(u32_t addr, u32_t size);
#endif // SPIFFS_HAL_CALLBACK_EXTRA
Expand Down Expand Up @@ -440,7 +440,7 @@ s32_t SPIFFS_read(spiffs *fs, spiffs_file fh, void *buf, s32_t len);
* @param len how much to write
* @returns number of bytes written, or -1 if error
*/
s32_t SPIFFS_write(spiffs *fs, spiffs_file fh, void *buf, s32_t len);
s32_t SPIFFS_write(spiffs *fs, spiffs_file fh, const void *buf, s32_t len);

/**
* Moves the read/write file offset. Resulting offset is returned or negative if error.
Expand Down
2 changes: 1 addition & 1 deletion src/spiffs_cache.c
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ s32_t spiffs_phys_wr(
spiffs_file fh,
u32_t addr,
u32_t len,
u8_t *src) {
const u8_t *src) {
(void)fh;
spiffs_page_ix pix = SPIFFS_PADDR_TO_PAGE(fs, addr);
spiffs_cache *cache = spiffs_get_cache(fs);
Expand Down
26 changes: 14 additions & 12 deletions src/spiffs_hydrogen.c
Original file line number Diff line number Diff line change
Expand Up @@ -411,13 +411,13 @@ s32_t SPIFFS_read(spiffs *fs, spiffs_file fh, void *buf, s32_t len) {
}

#if !SPIFFS_READ_ONLY
static s32_t spiffs_hydro_write(spiffs *fs, spiffs_fd *fd, void *buf, u32_t offset, s32_t len) {
static s32_t spiffs_hydro_write(spiffs *fs, spiffs_fd *fd, const void *buf, u32_t offset, s32_t len) {
(void)fs;
s32_t res = SPIFFS_OK;
s32_t remaining = len;
if (fd->size != SPIFFS_UNDEFINED_LEN && offset < fd->size) {
s32_t m_len = MIN((s32_t)(fd->size - offset), len);
res = spiffs_object_modify(fd, offset, (u8_t *)buf, m_len);
res = spiffs_object_modify(fd, offset, buf, m_len);
SPIFFS_CHECK_RES(res);
remaining -= m_len;
u8_t *buf_8 = (u8_t *)buf;
Expand All @@ -426,15 +426,15 @@ static s32_t spiffs_hydro_write(spiffs *fs, spiffs_fd *fd, void *buf, u32_t offs
offset += m_len;
}
if (remaining > 0) {
res = spiffs_object_append(fd, offset, (u8_t *)buf, remaining);
res = spiffs_object_append(fd, offset, buf, remaining);
SPIFFS_CHECK_RES(res);
}
return len;

}
#endif // !SPIFFS_READ_ONLY

s32_t SPIFFS_write(spiffs *fs, spiffs_file fh, void *buf, s32_t len) {
s32_t SPIFFS_write(spiffs *fs, spiffs_file fh, const void *buf, s32_t len) {
#if SPIFFS_READ_ONLY
(void)fs; (void)fh; (void)buf; (void)len;
return SPIFFS_ERR_RO_NOT_IMPL;
Expand Down Expand Up @@ -499,7 +499,7 @@ s32_t SPIFFS_write(spiffs *fs, spiffs_file fh, void *buf, s32_t len) {
spiffs_get_cache_page(fs, spiffs_get_cache(fs), fd->cache_page->ix),
fd->cache_page->offset, fd->cache_page->size);
spiffs_cache_fd_release(fs, fd->cache_page);
SPIFFS_API_CHECK_RES_UNLOCK(fs, res);
SPIFFS_API_CHECK_RES(fs, res);
} else {
// writing within cache
alloc_cpage = 0;
Expand Down Expand Up @@ -530,7 +530,7 @@ s32_t SPIFFS_write(spiffs *fs, spiffs_file fh, void *buf, s32_t len) {
return len;
} else {
res = spiffs_hydro_write(fs, fd, buf, offset, len);
SPIFFS_API_CHECK_RES_UNLOCK(fs, res);
SPIFFS_API_CHECK_RES(fs, res);
fd->fdoffset += len;
SPIFFS_UNLOCK(fs);
return res;
Expand All @@ -545,16 +545,16 @@ s32_t SPIFFS_write(spiffs *fs, spiffs_file fh, void *buf, s32_t len) {
spiffs_get_cache_page(fs, spiffs_get_cache(fs), fd->cache_page->ix),
fd->cache_page->offset, fd->cache_page->size);
spiffs_cache_fd_release(fs, fd->cache_page);
SPIFFS_API_CHECK_RES_UNLOCK(fs, res);
SPIFFS_API_CHECK_RES(fs, res);
res = spiffs_hydro_write(fs, fd, buf, offset, len);
SPIFFS_API_CHECK_RES_UNLOCK(fs, res);
SPIFFS_API_CHECK_RES(fs, res);
}
}
}
#endif

res = spiffs_hydro_write(fs, fd, buf, offset, len);
SPIFFS_API_CHECK_RES_UNLOCK(fs, res);
SPIFFS_API_CHECK_RES(fs, res);
fd->fdoffset += len;

SPIFFS_UNLOCK(fs);
Expand All @@ -572,7 +572,7 @@ s32_t SPIFFS_lseek(spiffs *fs, spiffs_file fh, s32_t offs, int whence) {
s32_t res;
fh = SPIFFS_FH_UNOFFS(fs, fh);
res = spiffs_fd_get(fs, fh, &fd);
SPIFFS_API_CHECK_RES_UNLOCK(fs, res);
SPIFFS_API_CHECK_RES(fs, res);

#if SPIFFS_CACHE_WR
spiffs_fflush_cache(fs, fh);
Expand Down Expand Up @@ -913,7 +913,7 @@ static s32_t spiffs_read_dir_v(
if (res != SPIFFS_OK) return res;
if ((obj_id & SPIFFS_OBJ_ID_IX_FLAG) &&
objix_hdr.p_hdr.span_ix == 0 &&
(objix_hdr.p_hdr.flags & (SPIFFS_PH_FLAG_DELET | SPIFFS_PH_FLAG_FINAL | SPIFFS_PH_FLAG_IXDELE)) ==
(objix_hdr.p_hdr.flags& (SPIFFS_PH_FLAG_DELET | SPIFFS_PH_FLAG_FINAL | SPIFFS_PH_FLAG_IXDELE)) ==
(SPIFFS_PH_FLAG_DELET | SPIFFS_PH_FLAG_IXDELE)) {
struct spiffs_dirent *e = (struct spiffs_dirent*)user_var_p;
e->obj_id = obj_id;
Expand All @@ -923,6 +923,7 @@ static s32_t spiffs_read_dir_v(
e->pix = pix;
return SPIFFS_OK;
}

return SPIFFS_VIS_COUNTINUE;
}

Expand Down Expand Up @@ -1169,10 +1170,11 @@ s32_t SPIFFS_vis(spiffs *fs) {
spiffs_printf("free_blocks: %i\n", fs->free_blocks);
spiffs_printf("page_alloc: %i\n", fs->stats_p_allocated);
spiffs_printf("page_delet: %i\n", fs->stats_p_deleted);
SPIFFS_UNLOCK(fs);
u32_t total, used;
SPIFFS_info(fs, &total, &used);
spiffs_printf("used: %i of %i\n", used, total);

SPIFFS_UNLOCK(fs);
return res;
}
#endif
12 changes: 6 additions & 6 deletions src/spiffs_nucleus.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ s32_t spiffs_phys_wr(
spiffs *fs,
u32_t addr,
u32_t len,
u8_t *src) {
const u8_t *src) {
return SPIFFS_HAL_WRITE(fs, addr, len, src);
}

Expand Down Expand Up @@ -142,7 +142,7 @@ s32_t spiffs_obj_lu_find_entry_visitor(
int entries_per_page = (SPIFFS_CFG_LOG_PAGE_SZ(fs) / sizeof(spiffs_obj_id));

// wrap initial
if (cur_entry > (int)SPIFFS_OBJ_LOOKUP_MAX_ENTRIES(fs) - 1) {
if (cur_entry >= (int)SPIFFS_OBJ_LOOKUP_MAX_ENTRIES(fs) - 1) {
cur_entry = 0;
cur_block++;
cur_block_addr = cur_block * SPIFFS_CFG_LOG_BLOCK_SZ(fs);
Expand Down Expand Up @@ -467,7 +467,7 @@ s32_t spiffs_obj_lu_find_free(
SPIFFS_OBJ_ID_FREE, block_ix, lu_entry);
if (res == SPIFFS_OK) {
fs->free_cursor_block_ix = *block_ix;
fs->free_cursor_obj_lu_entry = (*lu_entry) + 1;
fs->free_cursor_obj_lu_entry = *lu_entry;
if (*lu_entry == 0) {
fs->free_blocks--;
}
Expand Down Expand Up @@ -608,7 +608,7 @@ s32_t spiffs_page_allocate_data(
spiffs *fs,
spiffs_obj_id obj_id,
spiffs_page_header *ph,
u8_t *data,
const u8_t *data,
u32_t len,
u32_t page_offs,
u8_t finalize,
Expand Down Expand Up @@ -981,7 +981,7 @@ s32_t spiffs_object_open_by_page(
#if !SPIFFS_READ_ONLY
// Append to object
// keep current object index (header) page in fs->work buffer
s32_t spiffs_object_append(spiffs_fd *fd, u32_t offset, u8_t *data, u32_t len) {
s32_t spiffs_object_append(spiffs_fd *fd, u32_t offset, const u8_t *data, u32_t len) {
spiffs *fs = fd->fs;
s32_t res = SPIFFS_OK;
u32_t written = 0;
Expand Down Expand Up @@ -1224,7 +1224,7 @@ s32_t spiffs_object_append(spiffs_fd *fd, u32_t offset, u8_t *data, u32_t len) {
#if !SPIFFS_READ_ONLY
// Modify object
// keep current object index (header) page in fs->work buffer
s32_t spiffs_object_modify(spiffs_fd *fd, u32_t offset, u8_t *data, u32_t len) {
s32_t spiffs_object_modify(spiffs_fd *fd, u32_t offset, const u8_t *data, u32_t len) {
spiffs *fs = fd->fs;
s32_t res = SPIFFS_OK;
u32_t written = 0;
Expand Down
8 changes: 4 additions & 4 deletions src/spiffs_nucleus.h
Original file line number Diff line number Diff line change
Expand Up @@ -510,7 +510,7 @@ s32_t spiffs_phys_wr(
#endif
u32_t addr,
u32_t len,
u8_t *src);
const u8_t *src);

s32_t spiffs_phys_cpy(
spiffs *fs,
Expand Down Expand Up @@ -588,7 +588,7 @@ s32_t spiffs_page_allocate_data(
spiffs *fs,
spiffs_obj_id obj_id,
spiffs_page_header *ph,
u8_t *data,
const u8_t *data,
u32_t len,
u32_t page_offs,
u8_t finalize,
Expand Down Expand Up @@ -652,13 +652,13 @@ s32_t spiffs_object_open_by_page(
s32_t spiffs_object_append(
spiffs_fd *fd,
u32_t offset,
u8_t *data,
const u8_t *data,
u32_t len);

s32_t spiffs_object_modify(
spiffs_fd *fd,
u32_t offset,
u8_t *data,
const u8_t *data,
u32_t len);

s32_t spiffs_object_read(
Expand Down