Provided by: manpages-es_1.55-10_all bug

NOMBRE

       glob,  globfree  -  encuentra  nombres de caminos que concuerdan con un
       patron, libera la memoria ocupada por glob()

SINOPSIS

       #include <glob.h>

       int glob(const char *patron, int flags,
                int funcerr(const char * epath, int eerrno),
                glob_t *pglob);
       void globfree(glob_t *pglob);

DESCRIPCI'ON

       La funcion glob() busca todos los nombres de camino de los ficheros que
       concuerden  con  patron  segun  las  reglas usadas por el interprete de
       ordenes o shell.  No se  realiza  ni  expansion  de  la  tilde  (~)  ni
       sustitucion de parametros; si quiere esto, use wordexp(3).

       La funcion globfree() libera el almacenamiento alojado dinamicamente en
       una llamada anterior a glob().

       Los resultados de una llamada a glob() se guardan en la estructura a la
       que apunte pglob, que es un glob_t que se declara en <glob.h> e incluye
       los siguientes elementos definidos por POSIX.2 (se pueden presentar mas
       como extensiones):

          typedef struct
          {
                  size_t gl_pathc;  /* No de caminos concordantes hasta ahora */
                  char **gl_pathv;  /* Lista de los caminos concordantes. */
                  size_t gl_offs;   /* Sitios a reservar en `gl_pathv'. */
          } glob_t;

       Los resultados se almacenan en memoria obtenida dinamicamente.

       El  parametro  flags se construye mediante un O-logico de cero o mas de
       las constantes simbolicas siguientes, que modifican  el  comportamiento
       de glob():

       GLOB_ERR
              que  significa  regresar  en  cuanto  haya  un  error de lectura
              (porque un directorio no haya concedido permiso de lectura,  por
              ejemplo),

       GLOB_MARK
              que  quiere  decir  anadir una barra inclinada a cada camino que
              corresponda a un directorio,

       GLOB_NOSORT
              que quiere decir no ordenar los nombres de caminos devueltos (se
              ordenan si no se dice nada),

       GLOB_DOOFFS
              que  quiere  decir  que  se  reservaran pglob->gl_offs sitios al
              principio de la lista de cadenas de caracteres en pglob->pathv,

       GLOB_NOCHECK
              que quiere decir  que,  si  ningun  patron  concuerda,  hay  que
              devolver el patron original.

       GLOB_APPEND
              que  quiere  decir  anadir  a  los  resultados  de  una  llamada
              anterior. No active esta opcion  la  primera  vez  que  llame  a
              glob().

       GLOB_NOESCAPE
              que   quiere   decir  que  los  meta-caracteres  no  pueden  ser
              protegidos por barras inclinadas invertidas.

       Las  opciones  tambien  pueden  incluir  algunas  de   las   siguientes
       constantes, que son extensiones GNU no definidar por POSIX.2:

       GLOB_PERIOD
              que  quiere decir que un punto inicial puede concordar con meta-
              caracteres,

       GLOB_ALTDIRFUNC
              que  quiere  decir  que  se  usen  las  funciones   alternativas
              pglob->gl_closedir,     pglob->gl_readdir,    pglob->gl_opendir,
              pglob->gl_lstat y pglob->gl_stat  para  acceder  al  sistema  de
              ficheros, en lugar de las funciones normales de biblioteca,

       GLOB_BRACE
              que quiere decir que se expandan las expresiones de llaves {a,b}
              al estilo csh(1).

       GLOB_NOMAGIC
              que quiere decir que se devuelva el patron si no contiene  meta-
              caracteres,

       GLOB_TILDE
              que indica que se lleve a cabo la expansion de la tilde (~), y

       GLOB_ONLYDIR
              que significa que solo se tengan en cuenta los directorios.

       Si  funcerr  no es NULL, se llamara en caso de error con los argumentos
       epath, un puntero al camino que ha fallado, y eerrno, el valor de errno
       segun  es  devuelto  por  una de las llamadas a opendir(), readdir(), o
       stat().  Si funcerr devuelve no cero,  o  si  GLOB_ERR  esta  activado,
       glob() terminara justo tras la llamada a funcerr.

       Tras  un  regreso  con exito de la funcion, pglob->gl_pathc contiene el
       numero de nombres de caminos que han concordado  y  pglob->gl_pathv  un
       puntero  a la lista de nombres de caminos que han concordado. El primer
       puntero tras el ultimo nombre de camino es NULL.

       Es posible el llamar a glob() varias veces.  En  ese  caso,  la  opcion
       GLOB_APPEND  tiene  que  estar  activa en flags en la segunda llamada y
       posteriores.

       Como extension GNU,  a  pglob->gl_flags  se  le  asignan  las  opciones
       especificadas,  operadas  mediante  un  O-logico con GLOB_MAGCHAR si se
       encontro cualquier meta-caracter.

VALOR DEVUELTO

       Tras una terminacion con exito, glob() devuelve cero.   Otras  posibles
       devoluciones son:

       GLOB_NOSPACE
              si no tenemos bastante memoria,

       GLOB_ABORT
              para un error de lectura, y

       GLOB_NOMATCH
              si no se ha encontrado nada.

EJEMPLOS

       Un  ejemplo  del  modo  de empleo es el siguiente codigo, que simula la
       orden ls -l *.c ../*.c en el shell.

          glob_t globbuf;

          globbuf.gl_offs = 2;
          glob("*.c", GLOB_DOOFFS, NULL, &globbuf);
          glob("../*.c", GLOB_DOOFFS | GLOB_APPEND, NULL, &globbuf);
          globbuf.gl_pathv[0] = "ls";
          globbuf.gl_pathv[1] = "-l";
          execvp("ls", &globbuf.gl_pathv[0]);

CONFORME A

       POSIX.2

FALLOS

       La funcion glob() puede fallar debido  a  un  error  en  las  funciones
       subyacentes,  como  malloc() u opendir().  Estas guardaran su codigo de
       error en errno.

NOTA

       Los elementos de estructura gl_pathc y gl_offs se declaran como  size_t
       en glibc 2.1, como deberian de acuerdo a POSIX.2, pero se declaran como
       int en libc4, libc5 y glibc 2.0.

V'EASE TAMBI'EN

       ls(1), sh(1),  stat(2),  exec(3),  malloc(3),  opendir(3),  readdir(3),
       wordexp(3),