> - int shift, ret; > - u32 data; > + int ret; > + u32 shift, data; This 'shift' is u32 instead of 'unsigned int'. Rest looks good.