Previous code's trick with bitwise OR was giving this on 32-bit x86:
sizeof(struct passwd):28
sizeof(struct group):16
sizeof(struct spwd):36
sizeof(struct_result):60
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
uint8_t numfields;
FILE *fp;
char *malloced;
- char struct_result[0
- | sizeof(struct passwd)
- | sizeof(struct group)
- IF_USE_BB_SHADOW( | sizeof(struct spwd) )
- /* bitwise OR above is poor man's max(a,b,c) */
+ char struct_result[
+ /* Should be max(sizeof passwd,group,spwd), but this will do: */
+ IF_NOT_USE_BB_SHADOW(sizeof(struct passwd))
+ IF_USE_BB_SHADOW(sizeof(struct spwd))
];
};