Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: [PATCH] x86: sparse errors from string_32.h | From | Harvey Harrison <> | Date | Fri, 01 Feb 2008 16:40:15 -0800 |
| |
On Fri, 2008-02-01 at 10:06 -0800, H. Peter Anvin wrote: > Ingo Molnar wrote: > > * Harvey Harrison <harvey.harrison@gmail.com> wrote: > > > >> case 1: > >> - *(unsigned char *)s = pattern; > >> + *(unsigned char *)s = pattern & 0xff; > > > > i've applied your fix - but wouldnt it be cleaner to just cast the > > pattern variable to unsigned char instead? > > > > Even better, since we're talking about fixed bytes, I suggest writing it as: > > *(u8 *)s = (u8)pattern; > > Much more compact and the intent is a little bit more obvious. >
While I agree that is cleaner, that will still produce sparse warnings about a cast truncating bits from a constant value. I think that explicit & is necessary (unless the cure is worse than the disease).
Harvey
| ![\](/images/icornerr.gif) |