[PATCH 09/10] nandwrite: refactor "old_oobinfo" code

Brian Norris computersforpeace at gmail.com
Fri Aug 19 13:07:55 EDT 2011


Move variable within conditional and remove duplicated code.

Signed-off-by: Brian Norris <computersforpeace at gmail.com>
---
 nandwrite.c |   10 +++-------
 1 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/nandwrite.c b/nandwrite.c
index 078e2ff..e782aeb 100644
--- a/nandwrite.c
+++ b/nandwrite.c
@@ -497,7 +497,6 @@ int main(int argc, char * const argv[])
 
 			if (!noecc) {
 				int i, start, len;
-				int tags_pos = 0;
 				struct nand_oobinfo old_oobinfo;
 
 				/* Read the current oob info */
@@ -515,16 +514,13 @@ int main(int argc, char * const argv[])
 				 * such as the layout used by diskonchip.c
 				 */
 				if (old_oobinfo.useecc == MTD_NANDECC_AUTOPLACE) {
+					int tags_pos = 0, tmp_ofs;
 					for (i = 0; old_oobinfo.oobfree[i][1]; i++) {
 						/* Set the reserved bytes to 0xff */
 						start = old_oobinfo.oobfree[i][0];
 						len = old_oobinfo.oobfree[i][1];
-						if (rawoob)
-							memcpy(oobbuf + start,
-									oobreadbuf + start, len);
-						else
-							memcpy(oobbuf + start,
-									oobreadbuf + tags_pos, len);
+						tmp_ofs = rawoob ? start : tags_pos;
+						memcpy(oobbuf + start, oobreadbuf + tmp_ofs, len);
 						tags_pos += len;
 					}
 				} else {
-- 
1.7.6




More information about the linux-mtd mailing list