From dcde1e55f67f2b9e520e06ebcb77bfcb1a14decb Mon Sep 17 00:00:00 2001
From: Christopher Friedt <cfriedt@meta.com>
Date: Wed, 13 Mar 2024 10:49:04 +0800
Subject: [PATCH] posix: sysconf: use Z_SC_VAL_IFDEF for sysconf constants

Previously, CONFIG_MAX_TIMER_COUNT and CONFIG_MSG_COUNT_MAX were
used without checking if CONFIG_TIMER and CONFIG_POSIX_MQUEUE
were enabled.

Use Z_SC_VAL_IFDEF() to conditionally define those constants
based on their gating Kconfig values, otherwise, they are defined
to -1.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
---
 include/zephyr/posix/unistd.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/include/zephyr/posix/unistd.h b/include/zephyr/posix/unistd.h
index e78c49fbeeb8..05d2e4e0588a 100644
--- a/include/zephyr/posix/unistd.h
+++ b/include/zephyr/posix/unistd.h
@@ -134,7 +134,8 @@ extern "C" {
 #define _POSIX_LOGIN_NAME_MAX		    (9)
 #define _POSIX_MAX_CANON		    (255)
 #define _POSIX_MAX_INPUT		    (255)
-#define _POSIX_MQ_OPEN_MAX		    CONFIG_MSG_COUNT_MAX
+#define _POSIX_MQ_OPEN_MAX                  Z_SC_VAL_IFDEF(CONFIG_POSIX_MQUEUE, \
+						CONFIG_MSG_COUNT_MAX)
 #define _POSIX_MQ_PRIO_MAX		    (32)
 #define _POSIX_NAME_MAX			    (14)
 #define _POSIX_NGROUPS_MAX		    (8)
@@ -216,7 +217,7 @@ extern "C" {
 #define SIGQUEUE_MAX		      _POSIX_SIGQUEUE_MAX
 #define STREAM_MAX		      _POSIX_STREAM_MAX
 #define SYMLOOP_MAX		      _POSIX_SYMLOOP_MAX
-#define TIMER_MAX		      CONFIG_MAX_TIMER_COUNT
+#define TIMER_MAX                     Z_SC_VAL_IFDEF(CONFIG_TIMER, CONFIG_MAX_TIMER_COUNT)
 #define TTY_NAME_MAX		      _POSIX_TTY_NAME_MAX
 #define TZNAME_MAX		      _POSIX_TZNAME_MAX