diff options
| author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2011-09-19 14:25:20 +0300 | 
|---|---|---|
| committer | Artem Bityutskiy <artem.bityutskiy@intel.com> | 2011-09-21 09:34:56 +0300 | 
| commit | 208ba19802cce7359a8ca1626aad9045e16e6808 (patch) | |
| tree | ab1517bb45531df8a0ac2122ef84d129c9492853 /jffs2reader.c | |
| parent | 8c0328f9e32b03b9197c89c5902c50cbc01ee332 (diff) | |
jffs2reader: introduce ADD_BYTES macro
This macro is dedicated to get rid of the compiler errors:
	lvalue required as left operand of assignment
Signed-off-by: Alexey Dokuchaev <danfe@nsu.ru>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Diffstat (limited to 'jffs2reader.c')
| -rw-r--r-- | jffs2reader.c | 15 | 
1 files changed, 9 insertions, 6 deletions
diff --git a/jffs2reader.c b/jffs2reader.c index 1a211db..ef9dbe3 100644 --- a/jffs2reader.c +++ b/jffs2reader.c @@ -88,6 +88,9 @@ BUGS:  #define MINOR(dev) ((dev)&0xff)  #endif +/* macro to avoid "lvalue required as left operand of assignment" error */ +#define ADD_BYTES(p, n)		((p) = (typeof(p))((char *)(p) + (n))) +  #define DIRENT_INO(dirent) ((dirent) !=NULL ? je32_to_cpu((dirent)->ino) : 0)  #define DIRENT_PINO(dirent) ((dirent) !=NULL ? je32_to_cpu((dirent)->pino) : 0) @@ -441,7 +444,7 @@ struct jffs2_raw_inode *find_raw_inode(char *o, size_t size, uint32_t ino)  	do {  		while (n < e && je16_to_cpu(n->u.magic) != JFFS2_MAGIC_BITMASK) -			((char *) n) += 4; +			ADD_BYTES(n, 4);  		if (n < e && je16_to_cpu(n->u.magic) == JFFS2_MAGIC_BITMASK) {  			if (je16_to_cpu(n->u.nodetype) == JFFS2_NODETYPE_INODE && @@ -459,7 +462,7 @@ struct jffs2_raw_inode *find_raw_inode(char *o, size_t size, uint32_t ino)  					return (&(n->i));  			} -			((char *) n) += ((je32_to_cpu(n->u.totlen) + 3) & ~3); +			ADD_BYTES(n, ((je32_to_cpu(n->u.totlen) + 3) & ~3));  		} else  			n = (union jffs2_node_union *) o;	/* we're at the end, rewind to the beginning */ @@ -509,7 +512,7 @@ struct dir *collectdir(char *o, size_t size, uint32_t ino, struct dir *d)  	do {  		while (n < e && je16_to_cpu(n->u.magic) != JFFS2_MAGIC_BITMASK) -			((char *) n) += 4; +			ADD_BYTES(n, 4);  		if (n < e && je16_to_cpu(n->u.magic) == JFFS2_MAGIC_BITMASK) {  			if (je16_to_cpu(n->u.nodetype) == JFFS2_NODETYPE_DIRENT && @@ -532,7 +535,7 @@ struct dir *collectdir(char *o, size_t size, uint32_t ino, struct dir *d)  				}  			} -			((char *) n) += ((je32_to_cpu(n->u.totlen) + 3) & ~3); +			ADD_BYTES(n, ((je32_to_cpu(n->u.totlen) + 3) & ~3));  		} else  			n = (union jffs2_node_union *) o;	/* we're at the end, rewind to the beginning */ @@ -596,7 +599,7 @@ struct jffs2_raw_dirent *resolvedirent(char *o, size_t size,  	do {  		while (n < e && je16_to_cpu(n->u.magic) != JFFS2_MAGIC_BITMASK) -			((char *) n) += 4; +			ADD_BYTES(n, 4);  		if (n < e && je16_to_cpu(n->u.magic) == JFFS2_MAGIC_BITMASK) {  			if (je16_to_cpu(n->u.nodetype) == JFFS2_NODETYPE_DIRENT && @@ -613,7 +616,7 @@ struct jffs2_raw_dirent *resolvedirent(char *o, size_t size,  				}  			} -			((char *) n) += ((je32_to_cpu(n->u.totlen) + 3) & ~3); +			ADD_BYTES(n, ((je32_to_cpu(n->u.totlen) + 3) & ~3));  		} else  			return dd;  	} while (1);  | 
