Fix minor typo.
[yaffs2.git] / yaffs_packedtags2.c
index 5cc68af9e7f3be9eb277ba981d44487c513fe1e1..e420f95da1918ae0738568ec263a731c9e8f9eee 100644 (file)
@@ -1,16 +1,14 @@
 /*
- * YAFFS: Yet another FFS. A NAND-flash specific file system. 
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
  *
- * yaffs_packedtags2.c: Tags packing for YAFFS2
- *
- * Copyright (C) 2002 Aleph One Ltd.
+ * Copyright (C) 2002-2007 Aleph One Ltd.
+ *   for Toby Churchill Ltd and Brightstar Engineering
  *
  * Created by Charles Manning <charles@aleph1.co.uk>
  *
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
  */
 
 #include "yaffs_packedtags2.h"
@@ -114,20 +112,34 @@ void yaffs_UnpackTags2(yaffs_ExtendedTags * t, yaffs_PackedTags2 * pt)
                /* Page is in use */
 #ifdef YAFFS_IGNORE_TAGS_ECC
                {
-                       t->eccResult = 0;
+                       t->eccResult = YAFFS_ECC_RESULT_NO_ERROR;
                }
 #else
                {
                        yaffs_ECCOther ecc;
+                       int result;
                        yaffs_ECCCalculateOther((unsigned char *)&pt->t,
                                                sizeof
                                                (yaffs_PackedTags2TagsPart),
                                                &ecc);
-                       t->eccResult =
+                       result =
                            yaffs_ECCCorrectOther((unsigned char *)&pt->t,
                                                  sizeof
                                                  (yaffs_PackedTags2TagsPart),
                                                  &pt->ecc, &ecc);
+                       switch(result){
+                               case 0:
+                                       t->eccResult = YAFFS_ECC_RESULT_NO_ERROR;
+                                       break;
+                               case 1:
+                                       t->eccResult = YAFFS_ECC_RESULT_FIXED;
+                                       break;
+                               case -1:
+                                       t->eccResult = YAFFS_ECC_RESULT_UNFIXED;
+                                       break;
+                               default:
+                                       t->eccResult = YAFFS_ECC_RESULT_UNKNOWN;
+                       }
                }
 #endif
                t->blockBad = 0;