NOMBRE
confstr − 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.