diff options
| author | Mike Frysinger <vapier@gentoo.org> | 2010-09-22 23:08:03 -0400 | 
|---|---|---|
| committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2010-09-23 16:46:27 +0300 | 
| commit | 6358c55bacb813395a4612b9f3972bf41a3daed2 (patch) | |
| tree | a5485b72d220db7bb1a4bcfb064276d40be4973d /lib/libfec.c | |
| parent | 7c6742bd9209c69dbefa4bf12802c3c88b18aeb8 (diff) | |
libfec: fix up pointer warnings in fec magic computation
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>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'lib/libfec.c')
| -rw-r--r-- | 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.  | 
