Integer multiplication with overflow checking
#include <safemult.h>
int umult32(uint32 a,uint32 b,uint32* c);
umult32 does c=a*b and returns 1.
In case of an integer overflow, umult32 leaves c alone and returns 0.
umult16(3), imult32(3), umult64(3)