CONFSTR(3)

NAZWA
confstr - pobranie zmiennych łańcuchowych zależnych od konfiguracji

SKŁADNIA
#define _POSIX_C_SOURCE 2
lub
#define _XOPEN_SOURCE
#include <unistd.h>

size_t confstr(int name, char *buf, size_t len);

OPIS
Funkcja confstr() pobiera wartość zależnych od konfiguracji zmiennych systemowych.

Argument name wyznacza pobieraną zmienną systemową. Dostępne są zmienne:

_CS_PATH
    Wartość zmiennej PATH zawierającej ścieżkę, w której znaleźć można wszystkie standardowe programy narzędziowe POSIX.2.

Jeśli argument buf buf nie jest równy NULL, a len nie jest zerem, to funkcja confstr() kopiuje wartość zmiennej do łańcucha buf obciętą, jeśli to konieczne, do len - 1 znaków i zakończoną znakiem NUL. Może to zostać wykryte przez porównanie zwracanej przez confstr() wartości z argumentem len. Jeśli len wynosi zero a buf jest równe NULL, funkcja confstr() po prostu zwraca wartość, tak jak podano poniżej.

WARTOŚĆ ZWRACANA
Jeśli name nie określa poprawnej zmiennej konfiguracyjnej, confstr() zwraca 0.

PRZYKŁADY
Poniższy fragment kodu podaje ścieżkę, w której znaleźć znaleźć można programy systemowe POSIX.2:
char *pathbuf; size_t n;
n = confstr(_CS_PATH,NULL,(size_t)0);
if ((pathbuf = malloc(n)) == NULL) abort();
confstr(_CS_PATH, pathbuf, n);

BŁĘDY
Jeśli wartość name jest nieprawidłowa, errno jest ustawiane na EINVAL.

ZGODNE Z
Propozycja POSIX.2

USTERKI
POSIX.2 nie został jeszcze zatwierdzony jako standard, informacja na tej stronie man może ulec zmianie.

ZOBACZ TAKŻE
sh(1), exec(3), system(3)