linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] libfec: fix up pointer warnings in fec magic computation
@ 2010-09-23  3:08 Mike Frysinger
  2010-09-23 13:46 ` Artem Bityutskiy
  0 siblings, 1 reply; 2+ messages in thread
From: Mike Frysinger @ 2010-09-23  3:08 UTC (permalink / raw)
  To: linux-mtd

The current fec code casts a pointer to an int which causes warnings on
64bit systems.  So create a macro for the duplicate/complicated magic
computation, and add an unsigned long cast in it to fix the original
problem.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
 lib/libfec.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/libfec.c b/lib/libfec.c
index 924701f..b19ed6e 100644
--- a/lib/libfec.c
+++ b/lib/libfec.c
@@ -629,12 +629,13 @@ struct fec_parms {
     int k, n ;		/* parameters of the code */
     gf *enc_matrix ;
 } ;
+#define COMP_FEC_MAGIC(fec) \
+	(((FEC_MAGIC ^ (fec)->k) ^ (fec)->n) ^ (unsigned long)((fec)->enc_matrix))
 
 void
 fec_free(struct fec_parms *p)
 {
-    if (p==NULL ||
-       p->magic != ( ( (FEC_MAGIC ^ p->k) ^ p->n) ^ (int)(p->enc_matrix)) ) {
+    if (p==NULL || p->magic != COMP_FEC_MAGIC(p)) {
 	fprintf(stderr, "bad parameters to fec_free\n");
 	return ;
     }
@@ -666,7 +667,7 @@ fec_new(int k, int n)
     retval->k = k ;
     retval->n = n ;
     retval->enc_matrix = NEW_GF_MATRIX(n, k);
-    retval->magic = ( ( FEC_MAGIC ^ k) ^ n) ^ (int)(retval->enc_matrix) ;
+    retval->magic = COMP_FEC_MAGIC(retval);
     tmp_m = NEW_GF_MATRIX(n, k);
     /*
      * fill the matrix with powers of field elements, starting from 0.
-- 
1.7.3

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-09-23 13:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-23  3:08 [PATCH] libfec: fix up pointer warnings in fec magic computation Mike Frysinger
2010-09-23 13:46 ` Artem Bityutskiy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).