for the local strnlen impementation because the name fataly collides with a func from standard headers in some gcc versions (e.g. GnuSolaris/Nexenta w/ gcc 4.0.x).