nvram: get rid of NVRAM_SPACE
authorrmilecki <rmilecki@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 8 Jul 2015 06:06:07 +0000 (06:06 +0000)
committerrmilecki <rmilecki@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 8 Jul 2015 06:06:07 +0000 (06:06 +0000)
Now we support NVRAM whatever its size is.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Backport of r46262

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@46263 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/utils/nvram/src/nvram.c
package/utils/nvram/src/nvram.h

index c490597..0e42943 100644 (file)
@@ -65,7 +65,7 @@ static void _nvram_free(nvram_handle_t *h)
 static nvram_tuple_t * _nvram_realloc( nvram_handle_t *h, nvram_tuple_t *t,
        const char *name, const char *value )
 {
-       if ((strlen(value) + 1) > NVRAM_SPACE)
+       if ((strlen(value) + 1) > h->length - h->offset)
                return NULL;
 
        if (!t) {
@@ -395,7 +395,7 @@ nvram_handle_t * nvram_open(const char *file, int rdonly)
                                header = nvram_header(h);
 
                                if (header->magic == NVRAM_MAGIC &&
-                                   (rdonly || header->len < NVRAM_SPACE)) {
+                                   (rdonly || header->len < h->length - h->offset)) {
                                        _nvram_rehash(h);
                                        free(mtd);
                                        return h;
index 215d816..724f33b 100644 (file)
@@ -114,7 +114,6 @@ char * nvram_find_staging(void);
 
 /* NVRAM constants */
 #define NVRAM_MIN_SPACE                        0x8000
-#define NVRAM_SPACE                    0x10000
 #define NVRAM_MAGIC                    0x48534C46      /* 'FLSH' */
 #define NVRAM_VERSION          1