Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

       glob, globfree - finde Dateinamen, die einem Muster genugen

       Diese  Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie
       die englischsprachige Handbuchseite zu Rate, indem Sie

              man -LC 3 glob

       eingeben.

BEZEICHNUNG

       #include <glob.h>

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

BESCHREIBUNG

       Die Funktion glob() sucht alle Dateien, die dem Muster  pattern,  gemaB
       den  Regeln  der  Shell,  genugen  und  gibt  sie  zuruck.  (siehe auch
       glob(7)) Tilde-Erweiterungen und Variablensubstitutionen  werden  nicht
       durchgefuhrt.

       Die Funktion globfree() gibt den dynamisch alloziierten Speicher wieder
       frei, der noch von einem fruheren Aufruf von glob() belegt wird.

       Die  Ergebnisse  eines  glob()-Aufrufes  werden   in   einer   Struktur
       gespeichert,  auf  die  pglob  zeigt.   Sie  ist vom Typ glob_t, der in
       <glob.h> wie folgt definiert ist.

          typedef struct
          {
                  int gl_pathc;       /* Anzahl der bisher gefundenen Dateinamen */
                  char **gl_pathv;    /* Liste der gefundenen Dateinamen */
                  int gl_offs;        /* Reservierte Eintrage in `gl_pathv' */
                  int gl_flags;       /* Flags fur glob() */
          } glob_t;

       Die Ergebnisse  werden  in  der  dynamisch  alloziierten  Datenstruktur
       gespeichert.

       Das  Argument  flags besteht aus einer ODER-Verknupfungen der folgenden
       symbolischen Konstanten, die das Verhalten von glob() manipulieren:

       GLOB_ERR
              lasst glob() bei einem Lesefehler  (z.B.  wenn  ein  Verzeichnis
              nicht   gelesen   werden   kann)   in  das  aufrufende  Programm
              zuruckkehren,

       GLOB_MARK
              fugt an jeden gefundenen Pfad einen Slash an,  wenn  dieser  auf
              ein Verzeichnis zeigt,

       GLOB_NOSORT
              uberspringt  die Sortierung der Ergebnisse (normalerweise werden
              sie sortiert zuruckgegeben),

       GLOB_DOOFS
              bedeutet, dass  pglob->gl_offs  Eintrage  am  Anfang  der  Liste
              pglob->pathv reserviert werden,

       GLOB_NOCHECK
              bedeutet,  dass, wenn keine Pfade dem Muster genugen, das Muster
              selbst zuruckgegeben wird,

       GLOB_APPEND
              bedeutet, dass  die  Ergebnisse  eines  vorherigen  Aufrufs  von
              glob()  angehangt  werden sollen.  Dieses Flag sollte nicht beim
              ersten Aufruf gesetzt werden,

       GLOB_NOESCAPE
              bedeutet,  dass  Meta-Zeichen  nicht  mit  Backslashes  gequotet
              werden konnen und

       GLOB_PERIOD
              bedeutet, dass ein abschlieBender Punkt fur jedes Zeichen steht.

       Wenn  errfunc  nicht NULL ist, wird sie mit den Parametern epath, einem
       Zeiger auf den Pfad, bei dem der Fehler passierte, eerrno, dem Wert von
       errno,  wie  er  von  opendir(), readdir() bzw. stat().  gesetzt wurde,
       aufgerufen, wenn ein Fehler auftritt.  Wenn errfunc einen Wert ungleich
       null zuruckgibt oder wenn GLOB_ERR gesetzt ist, springt glob() nach dem
       Aufruf von errfunc in das aufrufende Programm zuruck.

       Nach erfolgreicher Ausfuhrung enthalt pglob->gl_pathc  die  Anzahl  der
       gefundenen  Pfade  und pglob->gl_pathv ist ein Zeiger auf die Liste der
       gefundenen Pfade.  Der erste Zeiger nach dem letzten Pfad ist NULL.

       Es ist moglich,  glob()  mehrfach  aufzurufen.   In  diesem  Fall  muss
       GLOB_APPEND  in  flags  beim  zweiten und jedem weiteren Aufruf gesetzt
       werden.

R"UCKGABEWERTE

       Nach erfolgreicher Ausfuhrung gibt glob() null zuruck. Andere  mogliche
       Werte sind:

       GLOB_NOSPACE,
              falls der Speicher knapp wurde,

       GLOB_ABEND,
              falls ein Lesefehler aufgetreten ist, und

       GLOB_NOMATCH,
              falls keine Pfade gefunden wurden.

BEISPIELE

       Ein  passendes Beispiel ist folgender Code, der ein ls -l *.c ../*.c in
       der Shell simuliert.

          glob_t globbuf;

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

KONFORM ZU

       Vorgeschlagen in POSIX.2

FEHLER

       Die Funktion glob() kann fehlschlagen bei Fehlern der zugrundeliegenden
       Systemaufrufe   wie  malloc()  oder  opendir().   Diese  speichern  den
       Fehlercode in errno.

       POSIX.2 ist bisher noch kein anerkannter Standard, die Informationen in
       dieser Manual-Seite werden sich andern.

SIEHE AUCH

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