tg 942035921c Pass arguments via a resonse file if executing a child fails
Command line length limit of OS/2 is 32KiB. If the total length of
all arguments is larger than this limit, it's needed to use a
response file.

Previously, the total length calculation was simply to add length of
all arguments. However, this result was not match with real length of
arguments, which are passed to child processes with OS/2 APIs.

Because conversion methods of arguments from libc to OS/2 APIs are
different depending on libc.

For example, kLIBC inserts its signature to an argument list. In
addition, it passes arguments with a leading space like:

    arg0
     kLIBC signature
     arg1
     arg2
     ...

Whereas, EMX just distinguishes arg0 and others like:

    arg0
    arg1 arg2 arg3 ...

After all, simple sum of a length of arguments are not correct.

The better way is to try to execute a child process, and to retry with
a response file if it fails due to arguments-too-long.

This has been found while doing 'bootstrap', especially 'autoreconf'
in coreutils git repo. It stops with:

    autom4te: /usr/local/bin/m4: Invalid argument

From: KO Myung-Hun <komh@chollian.net>
2017-12-22 16:41:42 +00:00
2017-08-08 21:10:21 +00:00
2017-11-18 12:01:53 +00:00
2017-11-20 02:32:32 +00:00
2017-08-07 23:25:09 +00:00
2015-11-29 17:05:02 +00:00
2017-10-15 20:21:51 +00:00
2015-12-12 21:08:44 +00:00
2015-11-29 17:05:02 +00:00
2017-05-05 22:53:32 +00:00
2017-05-05 22:53:32 +00:00
Description
MirBSD Korn Shell for Jehanne
6.7 MiB
Languages
C 57.6%
Shell 26%
Roff 13.3%
Perl 2.6%
Makefile 0.5%