From: Christoph Hellwig > Sent: 21 June 2021 15:27 ... > > + for (next = s.ulong[0]; count >= bytes_long + mask; count -= bytes_long) { > > Please avoid the pointlessly overlong line. And (just as a matter of > personal preference) I find for loop that don't actually use a single > iterator rather confusing. Wjy not simply: > > next = s.ulong[0]; > while (count >= bytes_long + mask) { > ... > count -= bytes_long; > } My fist attack on long 'for' statements is just to move the initialisation to the previous line. Then make sure there is nothing in the comparison that needs to be calculated every iteration. I suspect you can subtract 'mask' from 'count'. Giving: count -= mask; next = s.ulong[0]; for (;; count > bytes_long; count -= bytes_long) { Next is to shorten the variable names! David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)