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

Reply via email to