[RDY] Convert some values into bools

Not a very exciting change. 
On October 29, 2014 4:56:13 PM EAT, "Justin M. Keyes" <notifications@github.com> wrote:
>> @@ -6173,8 +6173,8 @@ showoneopt (
>>    varp = get_varp_scope(p, opt_flags);
>>  
>>    /* for 'modified' we also need to check if 'ff' or 'fenc' changed.
>*/
>> -  if ((p->flags & P_BOOL) && ((int *)varp == &curbuf->b_changed
>> -                              ? !curbufIsChanged() : !*(int *)varp))
>> +  if ((p->flags & P_BOOL) && ((bool *)varp == &curbuf->b_changed
>> +                              ? !curbufIsChanged() : !*(bool
>*)varp))
>
>Is the cast necessary here? `!` should force the value to bool.
>
>---
>Reply to this email directly or view it on GitHub:
>https://github.com/neovim/neovim/pull/1345/files#r19538331

Correct me if I am wrong, but this code has two potential problems:

1. It works only with one endianess variant, on other gives constant zero given 0 or 1 in int and a single byte boolean.
2. There may be unaligned memory access if greater alignment for bool is permitted by the standard (I do not remember it) (actual alignment is always lower AFAIK though).

In any case 1. is enough to consider this code buggy.