Mercurial > yaffs-ecoscentric
changeset 255:467bb4a77339
Improve handling of ecc on tags
| author | charles |
|---|---|
| date | Fri, 16 Jan 2009 00:45:47 +0000 |
| parents | 08307f2d7546 |
| children | 3bd2a4e3262f |
| files | yaffs_packedtags2.c |
| diffstat | 1 files changed, 11 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/yaffs_packedtags2.c +++ b/yaffs_packedtags2.c @@ -163,15 +163,11 @@ void yaffs_UnpackTags2TagsPart(yaffs_Ext void yaffs_UnpackTags2(yaffs_ExtendedTags * t, yaffs_PackedTags2 * pt) { - yaffs_UnpackTags2TagsPart(t,&pt->t); - + yaffs_ECCResult eccResult = YAFFS_ECC_RESULT_NO_ERROR; + if (pt->t.sequenceNumber != 0xFFFFFFFF) { /* Page is in use */ -#ifdef YAFFS_IGNORE_TAGS_ECC - { - t->eccResult = YAFFS_ECC_RESULT_NO_ERROR; - } -#else +#ifndef YAFFS_IGNORE_TAGS_ECC { yaffs_ECCOther ecc; int result; @@ -186,21 +182,25 @@ void yaffs_UnpackTags2(yaffs_ExtendedTag &pt->ecc, &ecc); switch(result){ case 0: - t->eccResult = YAFFS_ECC_RESULT_NO_ERROR; + eccResult = YAFFS_ECC_RESULT_NO_ERROR; break; case 1: - t->eccResult = YAFFS_ECC_RESULT_FIXED; + eccResult = YAFFS_ECC_RESULT_FIXED; break; case -1: - t->eccResult = YAFFS_ECC_RESULT_UNFIXED; + eccResult = YAFFS_ECC_RESULT_UNFIXED; break; default: - t->eccResult = YAFFS_ECC_RESULT_UNKNOWN; + eccResult = YAFFS_ECC_RESULT_UNKNOWN; } } #endif } + yaffs_UnpackTags2TagsPart(t,&pt->t); + + t->eccResult = eccResult; + yaffs_DumpPackedTags2(pt); yaffs_DumpTags2(t);
