summaryrefslogtreecommitdiff
path: root/ubi-utils/src/eb_chain.c
diff options
context:
space:
mode:
Diffstat (limited to 'ubi-utils/src/eb_chain.c')
-rw-r--r--ubi-utils/src/eb_chain.c35
1 files changed, 18 insertions, 17 deletions
diff --git a/ubi-utils/src/eb_chain.c b/ubi-utils/src/eb_chain.c
index 501a838..22594c5 100644
--- a/ubi-utils/src/eb_chain.c
+++ b/ubi-utils/src/eb_chain.c
@@ -27,6 +27,7 @@
#include <stdlib.h>
#include <string.h>
#include "eb_chain.h"
+#include "crc32.h"
#define COPY(dst, src) \
do \
@@ -66,9 +67,9 @@ eb_chain_insert(eb_info_t *head, eb_info_t new)
return 0;
}
- new_vol = ubi32_to_cpu(new->inner.vol_id);
- new_num = ubi32_to_cpu(new->inner.lnum);
- new_ver = ubi32_to_cpu(new->inner.leb_ver);
+ new_vol = ubi32_to_cpu(new->vid.vol_id);
+ new_num = ubi32_to_cpu(new->vid.lnum);
+ new_ver = ubi32_to_cpu(new->vid.leb_ver);
/** TRAVERSE HORIZONTALY **/
@@ -76,8 +77,8 @@ eb_chain_insert(eb_info_t *head, eb_info_t new)
prev = NULL;
/* traverse until vol_id/lnum align */
- vol = ubi32_to_cpu(cur->inner.vol_id);
- num = ubi32_to_cpu(cur->inner.lnum);
+ vol = ubi32_to_cpu(cur->vid.vol_id);
+ num = ubi32_to_cpu(cur->vid.lnum);
while ((new_vol > vol) || ((new_vol == vol) && (new_num > num)))
{
/* insert new at end of chain */
@@ -91,8 +92,8 @@ eb_chain_insert(eb_info_t *head, eb_info_t new)
prev = cur;
cur = cur->next;
- vol = ubi32_to_cpu(cur->inner.vol_id);
- num = ubi32_to_cpu(cur->inner.lnum);
+ vol = ubi32_to_cpu(cur->vid.vol_id);
+ num = ubi32_to_cpu(cur->vid.lnum);
}
if (prev == NULL)
@@ -115,7 +116,7 @@ eb_chain_insert(eb_info_t *head, eb_info_t new)
prev = NULL;
/* traverse until versions align */
- ver = ubi32_to_cpu(cur->inner.leb_ver);
+ ver = ubi32_to_cpu(cur->vid.leb_ver);
while (new_ver < ver)
{
/* insert new at bottom of history */
@@ -130,7 +131,7 @@ eb_chain_insert(eb_info_t *head, eb_info_t new)
prev = hist;
hist = hist->older;
- ver = ubi32_to_cpu(hist->inner.leb_ver);
+ ver = ubi32_to_cpu(hist->vid.leb_ver);
}
if (prev == NULL)
@@ -181,8 +182,8 @@ eb_chain_position(eb_info_t *head, uint32_t vol_id, uint32_t *lnum,
cur = *head;
while (cur != NULL)
{
- vol = ubi32_to_cpu(cur->inner.vol_id);
- num = ubi32_to_cpu(cur->inner.lnum);
+ vol = ubi32_to_cpu(cur->vid.vol_id);
+ num = ubi32_to_cpu(cur->vid.lnum);
if (vol_id == vol)
if ((lnum == NULL) || (*lnum == num))
@@ -227,17 +228,17 @@ eb_chain_print(FILE* stream, eb_info_t *head)
eb_info_t hist;
fprintf(stream, " VOL %4u-%04u | VER 0x%8x\n",
- ubi32_to_cpu(cur->inner.vol_id),
- ubi32_to_cpu(cur->inner.lnum),
- ubi32_to_cpu(cur->inner.leb_ver));
+ ubi32_to_cpu(cur->vid.vol_id),
+ ubi32_to_cpu(cur->vid.lnum),
+ ubi32_to_cpu(cur->vid.leb_ver));
hist = cur->older;
while (hist != NULL)
{
fprintf(stream, "+ VOL %4u-%04u | VER 0x%8x\n",
- ubi32_to_cpu(hist->inner.vol_id),
- ubi32_to_cpu(hist->inner.lnum),
- ubi32_to_cpu(hist->inner.leb_ver));
+ ubi32_to_cpu(hist->vid.vol_id),
+ ubi32_to_cpu(hist->vid.lnum),
+ ubi32_to_cpu(hist->vid.leb_ver));
hist = hist->older;
}