Răsfoiți Sursa

Removed words variable from lfs struct

Christopher Haster 8 ani în urmă
părinte
comite
b35d761196
2 a modificat fișierele cu 6 adăugiri și 5 ștergeri
  1. 6 4
      lfs.c
  2. 0 1
      lfs.h

+ 6 - 4
lfs.c

@@ -859,11 +859,12 @@ int lfs_dir_rewind(lfs_t *lfs, lfs_dir_t *dir) {
 /// File index list operations ///
 static int lfs_index(lfs_t *lfs, lfs_off_t *off) {
     lfs_off_t i = 0;
+    lfs_size_t words = lfs->cfg->block_size / 4;
 
     while (*off >= lfs->cfg->block_size) {
         i += 1;
         *off -= lfs->cfg->block_size;
-        *off += 4*lfs_min(lfs_ctz(i)+1, lfs->words-1);
+        *off += 4*lfs_min(lfs_ctz(i)+1, words-1);
     }
 
     return i;
@@ -881,11 +882,12 @@ static int lfs_index_find(lfs_t *lfs,
 
     lfs_off_t current = lfs_index(lfs, &(lfs_off_t){size-1});
     lfs_off_t target = lfs_index(lfs, &pos);
+    lfs_size_t words = lfs->cfg->block_size / 4;
 
     while (current > target) {
         lfs_size_t skip = lfs_min(
                 lfs_npw2(current-target+1) - 1,
-                lfs_min(lfs_ctz(current)+1, lfs->words-1) - 1);
+                lfs_min(lfs_ctz(current)+1, words-1) - 1);
 
         int err = lfs_cache_read(lfs, rcache, pcache, head, 4*skip, &head, 4);
         if (err) {
@@ -945,7 +947,8 @@ static int lfs_index_extend(lfs_t *lfs,
 
     // append block
     index += 1;
-    lfs_size_t skips = lfs_min(lfs_ctz(index)+1, lfs->words-1);
+    lfs_size_t words = lfs->cfg->block_size / 4;
+    lfs_size_t skips = lfs_min(lfs_ctz(index)+1, words-1);
 
     for (lfs_off_t i = 0; i < skips; i++) {
         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) {
 /// Filesystem operations ///
 static int lfs_init(lfs_t *lfs, const struct lfs_config *cfg) {
     lfs->cfg = cfg;
-    lfs->words = lfs->cfg->block_size / sizeof(uint32_t);
 
     // setup read cache
     lfs->rcache.block = 0xffffffff;

+ 0 - 1
lfs.h

@@ -210,7 +210,6 @@ typedef struct lfs_free {
 // littlefs type
 typedef struct lfs {
     const struct lfs_config *cfg;
-    lfs_size_t words;       // number of 32-bit words that can fit in a block
 
     lfs_block_t root[2];
     lfs_dir_t *scratch;