confstr(3) obtiene variables cadena dependientes de la configuración

SINOPSIS

#define __POSIX_C_SOURCE 2
o
#define _XOPEN_SOURCE
#include <unistd.h>


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

DESCRIPCIÓN

confstr() obtiene el valor de una variable cadena dependiente de la configuración.

El argumento name es la variable del sistema a ser examinada. Se admiten las siguientes variables:

_CS_PATH
Un valor para la variable PATH que indica dónde pueden ser encontradas todas las utilidades POSIX.2 estándar.

Si buf no es NULL, y len no es cero, confstr() copia el valor de la cadena a buf truncado a len - 1 caracteres si es necesario, con un caracter NUL como terminación. Esto puede ser detectado al comparar el valor devuelto por confstr() con len.

Si len es cero y buf es NULL, confstr() sólo devuelve el valor como se define más abajo.

VALOR DEVUELTO

Si name no corresponde a una variable de configuración válida, confstr() devuelve 0.

EJEMPLOS

El siguiente fragmento de código determina el camino donde se encuentran las utilidades de sistema 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);

ERRORES

Si el valor de name es inválido, errno toma el valor EINVAL.

CONFORME A

el propuesto POSIX.2

FALLOS

POSIX.2 no es aún un estándar aprobado; la información de esta página de manual está sujeta a cambio.