use LONG_MIN/LONG_MAX macro instead of function