On Tue, Jul 15, 2008 at 5:12 AM, Johannes Schindelin <[EMAIL PROTECTED]> wrote: > I think that the last platform where it breaks is Windows 95. strtoll() > returns long long, and since the result is a pid, I doubt that even long > is required for Windows 95.
On the contrary, while the NT-based systems use kernel handles as PIDs, which are generally quite small numbers, Windows 95 actually uses an obfuscated pointer to an internal data structure (see comments for http://blogs.msdn.com/oldnewthing/archive/2008/02/28/7925962.aspx). This value can very well be greater than MAX_LONG, and will wrap to the negative range if put in a signed long. Cygwin kill uses long long for argument parsing so that it can correctly handle values between MIN_LONG (process group IDs) and MAX_ULONG (native Win95 PIDs). > Looks very good, except for the "-B$(cygwin_build)/", which should be a > "-B/" AFAICT. It is verbatim copy from the original Cygwin Makefile.in, I don't even know what $(cygwin_build) is used for. Alexander
