>if (((unsigned int)pointer) % boundary)
引数とらずに4,8,16,32あたりの個別の専用マクロ作りなよ