commit 67ca2428d5554e251651e39ef6d74cdcddcefa28
parent 7ebf02d749a0858981a1c8f38610cb7a0ba0ebb3
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 27 Mar 2015 22:43:55 +0100
xargs: fix sysconf(_SC_ARG_MAX)
the minimum space required by environment variables isn't clearly defined by
POSIX afaik.
Diffstat:
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/xargs.c b/xargs.c
@@ -191,16 +191,15 @@ usage(void)
int
main(int argc, char *argv[])
{
- int leftover = 0;
+ int leftover = 0, i;
size_t argsz, argmaxsz;
+ size_t arglen, a;
char *arg = "";
- int i, a;
- argmaxsz = sysconf(_SC_ARG_MAX);
- if (argmaxsz < 0)
- eprintf("sysconf:");
+ if ((argmaxsz = sysconf(_SC_ARG_MAX)) == (size_t)-1)
+ argmaxsz = _POSIX_ARG_MAX;
/* Leave some room for environment variables */
- argmaxsz -= 4 * 1024;
+ argmaxsz -= 4096;
ARGBEGIN {
case 'n':