When compiling ipxe.lkrn on fedora16 I'm getting warnings (turned errors) from the nrv2b.c. This algorithm hasn't been touched since 2002 and contains some old code that never gets compiled or executed. I just cleaned it up. If others are having similar issues maybe this small patch can be merged upstream.
--Joshua ------------------------------------- >From 8c741b4dc1fb351c6a128bb1e5743bb734cc78b3 Mon Sep 17 00:00:00 2001 From: Joshua Cov. <[email protected]> Date: Sun, 6 May 2012 14:45:28 +0200 Subject: [PATCH] clean up the nrv2b algorithm The nrv2b algorithm hasn't been touched since 2002. It's pretty old and contains some illogical/unused code that triggers warnings/errors when being compiled with gcc-4.6.3. Clean it up. --- src/util/nrv2b.c | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/src/util/nrv2b.c b/src/util/nrv2b.c index cbb94c0..5c6518e 100644 --- a/src/util/nrv2b.c +++ b/src/util/nrv2b.c @@ -209,7 +209,6 @@ struct ucl_compress #define SWD_HSIZE 16384 #define SWD_MAX_CHAIN 2048 -#define SWD_BEST_OFF 1 #define HEAD3(b,p) \ (((0x9f5f*(((((uint32_t)b[p]<<5)^b[p+1])<<5)^b[p+2]))>>5) & (SWD_HSIZE-1)) @@ -235,16 +234,10 @@ struct ucl_swd unsigned int m_off; unsigned int look; int b_char; -#if defined(SWD_BEST_OFF) - unsigned int best_off[ SWD_BEST_OFF ]; -#endif /* semi public */ struct ucl_compress *c; unsigned int m_pos; -#if defined(SWD_BEST_OFF) - unsigned int best_pos[ SWD_BEST_OFF ]; -#endif /* private */ const uint8_t *dict; @@ -590,13 +583,6 @@ void swd_search(struct ucl_swd *s, unsigned int node, unsigned int cnt) #endif assert(memcmp(bp,&b[node],i) == 0); -#if defined(SWD_BEST_OFF) - if (i < SWD_BEST_OFF) - { - if (s->best_pos[i] == 0) - s->best_pos[i] = node + 1; - } -#endif if (i > m_len) { s->m_len = m_len = i; @@ -629,10 +615,6 @@ static int swd_search2(struct ucl_swd *s) s->b[s->bp], s->b[s->bp+1], s->b[key], s->b[key+1]); #endif assert(memcmp(&s->b[s->bp],&s->b[key],2) == 0); -#if defined(SWD_BEST_OFF) - if (s->best_pos[2] == 0) - s->best_pos[2] = key + 1; -#endif if (s->m_len < 2) { @@ -681,20 +663,6 @@ void swd_findbest(struct ucl_swd *s) if (s->m_len > len) s->m_off = swd_pos2off(s,s->m_pos); s->best3[s->bp] = (unsigned int)(s->m_len); - -#if defined(SWD_BEST_OFF) - if (s->use_best_off) - { - int i; - for (i = 2; i < SWD_BEST_OFF; i++) - if (s->best_pos[i] > 0) - s->best_off[i] = - swd_pos2off(s,s->best_pos[i]-1); - - else - s->best_off[i] = 0; - } -#endif } swd_remove_node(s,s->rp); @@ -757,10 +725,6 @@ find_match ( struct ucl_compress *c, struct ucl_swd *s, } s->m_len = THRESHOLD; -#ifdef SWD_BEST_OFF - if (s->use_best_off) - memset(s->best_pos,0,sizeof(s->best_pos)); -#endif swd_findbest(s); c->m_len = s->m_len; c->m_off = s->m_off; -- 1.7.10 _______________________________________________ ipxe-devel mailing list [email protected] https://lists.ipxe.org/mailman/listinfo/ipxe-devel

