@@ -859,11 +859,12 @@ int lfs_dir_rewind(lfs_t *lfs, lfs_dir_t *dir) {
859
859
/// File index list operations ///
860
860
static int lfs_index (lfs_t * lfs , lfs_off_t * off ) {
861
861
lfs_off_t i = 0 ;
862
+ lfs_size_t words = lfs -> cfg -> block_size / 4 ;
862
863
863
864
while (* off >= lfs -> cfg -> block_size ) {
864
865
i += 1 ;
865
866
* off -= lfs -> cfg -> block_size ;
866
- * off += 4 * lfs_min (lfs_ctz (i )+ 1 , lfs -> words - 1 );
867
+ * off += 4 * lfs_min (lfs_ctz (i )+ 1 , words - 1 );
867
868
}
868
869
869
870
return i ;
@@ -881,11 +882,12 @@ static int lfs_index_find(lfs_t *lfs,
881
882
882
883
lfs_off_t current = lfs_index (lfs , & (lfs_off_t ){size - 1 });
883
884
lfs_off_t target = lfs_index (lfs , & pos );
885
+ lfs_size_t words = lfs -> cfg -> block_size / 4 ;
884
886
885
887
while (current > target ) {
886
888
lfs_size_t skip = lfs_min (
887
889
lfs_npw2 (current - target + 1 ) - 1 ,
888
- lfs_min (lfs_ctz (current )+ 1 , lfs -> words - 1 ) - 1 );
890
+ lfs_min (lfs_ctz (current )+ 1 , words - 1 ) - 1 );
889
891
890
892
int err = lfs_cache_read (lfs , rcache , pcache , head , 4 * skip , & head , 4 );
891
893
if (err ) {
@@ -945,7 +947,8 @@ static int lfs_index_extend(lfs_t *lfs,
945
947
946
948
// append block
947
949
index += 1 ;
948
- lfs_size_t skips = lfs_min (lfs_ctz (index )+ 1 , lfs -> words - 1 );
950
+ lfs_size_t words = lfs -> cfg -> block_size / 4 ;
951
+ lfs_size_t skips = lfs_min (lfs_ctz (index )+ 1 , words - 1 );
949
952
950
953
for (lfs_off_t i = 0 ; i < skips ; i ++ ) {
951
954
int err = lfs_cache_prog (lfs , pcache , * block , 4 * i , & head , 4 );
@@ -1538,7 +1541,6 @@ int lfs_rename(lfs_t *lfs, const char *oldpath, const char *newpath) {
1538
1541
/// Filesystem operations ///
1539
1542
static int lfs_init (lfs_t * lfs , const struct lfs_config * cfg ) {
1540
1543
lfs -> cfg = cfg ;
1541
- lfs -> words = lfs -> cfg -> block_size / sizeof (uint32_t );
1542
1544
1543
1545
// setup read cache
1544
1546
lfs -> rcache .block = 0xffffffff ;
0 commit comments