From d3e66e684f04be22b28fe11e00c8ffb9e7ed46a1 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 17 Oct 2018 16:27:20 +0200 Subject: [PATCH] env-util: drop ARG_MAX define It's not a constant, hence don't pretend it was. --- src/basic/env-util.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/basic/env-util.c b/src/basic/env-util.c index 19a50ee8c30..fad38b08191 100644 --- a/src/basic/env-util.c +++ b/src/basic/env-util.c @@ -21,10 +21,6 @@ DIGITS LETTERS \ "_" -#ifndef ARG_MAX -#define ARG_MAX ((size_t) sysconf(_SC_ARG_MAX)) -#endif - static bool env_name_is_valid_n(const char *e, size_t n) { const char *p; @@ -42,7 +38,7 @@ static bool env_name_is_valid_n(const char *e, size_t n) { * either. Discounting the equal sign and trailing NUL this * hence leaves ARG_MAX-2 as longest possible variable * name. */ - if (n > ARG_MAX - 2) + if (n > (size_t) sysconf(_SC_ARG_MAX) - 2) return false; for (p = e; p < e + n; p++) @@ -76,7 +72,7 @@ bool env_value_is_valid(const char *e) { * either. Discounting the shortest possible variable name of * length 1, the equal sign and trailing NUL this hence leaves * ARG_MAX-3 as longest possible variable value. */ - if (strlen(e) > ARG_MAX - 3) + if (strlen(e) > (size_t) sysconf(_SC_ARG_MAX) - 3) return false; return true; @@ -99,7 +95,7 @@ bool env_assignment_is_valid(const char *e) { * be > ARG_MAX, hence the individual variable assignments * cannot be either, but let's leave room for one trailing NUL * byte. */ - if (strlen(e) > ARG_MAX - 1) + if (strlen(e) > (size_t) sysconf(_SC_ARG_MAX) - 1) return false; return true; -- 2.47.3