Provided by: manpages-de-dev_1.4-1_all bug

BEZEICHNUNG

       glob,  globfree  -  findet  Pfadnamen,  die einem Muster genügen; gibt von glob() belegten
       Speicher frei

ÜBERSICHT

       #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 Pfadnamen, die nach den von der  Shell  verwendeten  Regeln
       dem  Muster  pattern genügen und gibt sie zurück (siehe auch glob(7)). Tilde-Erweiterungen
       und Parametersubstitutionen werden nicht durchgeführt.

       Die Funktion globfree() gibt den dynamisch allozierten Speicher wieder frei, der noch  von
       einem früheren Aufruf von glob() belegt wird.

       Die Ergebnisse eines Aufrufes von glob() werden in der Struktur gespeichert, auf die pglob
       zeigt. Sie ist vom Typ glob_t (deklariert in <glob.h>) und  enthälten  die  folgenden  von
       POSIX.2 definierten Elemente (als Erweiterung können zusätzliche Elemente vorhanden sein):

           typedef struct {
               size_t   gl_pathc;  /* Anzahl der bisher gefundenen Dateinamen */
               char   **gl_pathv;  /* Liste passender Pfadnamen */
               size_t   gl_offs;   /* in gl_pathv zu reservierendende "Slots" */
           } glob_t;

       Die Ergebnisse werden in dynamisch alloziertem Speicher abgelegt.

       Das Argument flags besteht aus einer bitweisen ODER-Verknüpfung von null oder mehreren der
       folgenden symbolischen Konstanten, die das Verhalten von glob() bestimmen:

       GLOB_ERR
              Funktion bei Lesefehler beenden (weil z. B. für ein  Verzeichnis  das  Lesen  nicht
              gestattet ist). Standardmäßig versucht glob() trotz Fehlern weiterzumachen und alle
              Verzeichnisse zu lesen, die ihr möglich sind.

       GLOB_MARK
              An jeden gefundenen  Pfad  einen  Schrägstrich  an,  wenn  dieser  einemVerzeichnis
              entspricht.

       GLOB_NOSORT
              Die  zurückgegebenen  Pfadnamen  nicht  sortieren.  Der einzige Grund dafür ist das
              Einsparen von Zeit für die Verarbeitung. Standardmäßig werden  die  zurückgegebenen
              Pfadnamen sortiert.

       GLOB_DOOFFS
              pglob->gl_offs Einträge am Anfang der String-Liste in pglob->pathv reservieren. Die
              reservierten Einträge enthalten NULL-Zeiger.

       GLOB_NOCHECK
              Falls kein Muster passt, das ursprüngliche Muster zurückgeben.  Standardmäßig  gibt
              glob() GLOB_NOMATCH zurück, wenn es keine Fundstellen gibt.

       GLOB_APPEND
              Die  Ergebnisse  dieses  Aufrufs  an  den Ergebnisvektor eines früheren Aufrufs von
              glob() anhängen. Setzen Sie dieses Flag nicht beim ersten Aufruf von glob().

       GLOB_NOESCAPE
              Den  linksseitigen  Schrägstrich   (»\«)   nicht   als   Escape-Zeichen   zulassen.
              Normalerweise  wird  dieses Zeichen verwendet um die folgenden Zeichen zu maskieren
              und  somit  einen  Mechanismus  zum  Ausschalten  der  besonderen   Bedeutung   von
              Metazeichen zu bieten.

       flags  kann auch einen der folgenden, nicht von POSIX.2 definierten Werte enthalten. Diese
       GNU-Erweiterungen sind:

       GLOB_PERIOD
              Den Abgleich eines führenden Punktes mit Metazeichen zulassen. Standardmäßig können
              Metazeichen nicht mit einem führenden Punkte abgeglichen werden.

       GLOB_ALTDIRFUNC
              Use alternative functions pglob->gl_closedir, pglob->gl_readdir, pglob->gl_opendir,
              pglob->gl_lstat, and pglob->gl_stat for filesystem access  instead  of  the  normal
              library functions.

       GLOB_BRACE
              Ersetzen  von  Klammerausdrücken  der  Form  {a,b} im csh(1)-Stil. Klammerausdrücke
              können verschachtelt werden.  So  liefert  zum  Beispiel  die  Angabe  des  Musters
              »{foo/{,cat,  dog},  bar}«  die  gleichen  Ergebnisse wie vier separate Aufrufe von
              glob() mit den Zeichenketten »foo/«, »foo/cat«, »foo/dog« und »bar«.

       GLOB_NOMAGIC
              Falls das Muster keine Metazeichen enthält, sollte  es  als  das  einzige  Ergebnis
              zurückgegeben werden, auch wenn keine Datei mit diesem Namen existiert.

       GLOB_TILDE
              Tilden  ersetzen.  Falls  eine  Tilde  (» «) das einzige Zeichen im Muster ist oder
              einer Tilde als erstes Zeichen sofort ein Schrägstrich (»\[u00AB]) folgt, wird  die
              Tilde  durch  das  Home-Verzeichnis des Aufrufenden ersetzt. Falls der einleitenden
              Tilde ein Benutzername folgt (z. B. ~/andrea/bin),  werden Tilde  und  Benutzername
              durch  das  Home-Verzeichnis des Benutzers ersetzt. Falls der Benutzername ungültig
              ist oder das Home-Verzeichnis nicht bestimmt werden kann, wird  keine  Substitution
              durchgeführt.

       GLOB_TILDE_CHECK
              Dieses  Flag bewirkt ein Verhalten ähnlich dem von GLOB_TILDE. Der Unterschied ist,
              dass  bei   einem   ungültigen   Benutzernamen   oder   bei   nicht   ermittelbarem
              Home-Verzeichnis  nicht  das  Muster selbst als Name verwendet wird, sondern glob()
              GLOB_NOMATCH zurückgibt, um einen Fehler anzuzeigen.

       GLOB_ONLYDIR
              Dies ist ein  Hinweis  für  glob(),  dass  der  Aufrufende  nur  an  Verzeichnissen
              interessiert   ist,   die   dem   Muster  entsprechen.  Falls  die  Implementierung
              Informationen zum  Dateityp  leicht  ermitteln  kann,  werden  Dateien,  die  keine
              Verzeichnisse  sind,  nicht  an  den Aufrufenden zurückgegeben. Allerdings muss der
              Aufrufende noch prüfen, ob die zurückgegebenen  Dateien  Verzeichnisse  sind.  (Der
              Zweck dieses Flags ist lediglich eine Leistungsoptimierung, wenn der Aufrufende nur
              an Verzeichnissen interessiert ist.)

       Falls errfunc nicht NULL ist, wird sie mit den Parametern  epath  und  eerrno  aufgerufen,
       wenn ein Fehler auftritt. epath ist der Zeiger auf den Pfad, bei dem der Fehler passierte,
       eerrnoder Wert von errno, wie er von opendir()3, readdir(3) bzw.  stat(2)  gesetzt  wurde.
       Falls  errfunc  einen  Wert ungleich null zurückgibt oder wenn GLOB_ERR gesetzt ist, kehrt
       glob() nach dem Aufruf von errfunc in das aufrufende Programm zurück.

       Nach erfolgreicher Ausführung enthält pglob->gl_pathc die Anzahl der gefundenen  Pfadnamen
       und  pglob->gl_pathv  ist ein Zeiger auf die Liste der gefundenen Pfadnamen. Die Liste der
       Zeiger wird mit einem NULL-Zeiger abgeschlossen.

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

       Als   eine  GNU-Erweiterung  wird  pglob->gl_flags  auf  die  angegebenen  Flags,  logisch
       oder-verknüpft mit GLOB_MAGCHAR gesetz, falls Metazeichen gefunden wurden.

RÜCKGABEWERT

       Nach erfolgreicher Ausführung gibt glob() null zurück. Andere mögliche Werte sind:

       GLOB_NOSPACE
              Speicher aufgebraucht

       GLOB_ABORTED
              für einen Lesefehler und

       GLOB_NOMATCH
              falls keine Pfade gefunden wurden.

KONFORM ZU

       POSIX.2, POSIX.1-2001.

ANMERKUNGEN

       Die Strukturelemente gl_pathc und gl_offs werden in der Glibc 2.1 als  size_t  deklariert,
       wie sie es gemäß POSIX.2 sein sollten. In Libc4, Libc5 und Glibc 2.0 sind sie aber als int
       deklariert.

FEHLER

       The glob()  function may fail due  to  failure  of  underlying  function  calls,  such  as
       malloc(3)  or opendir(3). These will store their error code in errno.

BEISPIEL

       One example of use is the following code, which simulates typing

           ls -l *.c ../*.c

       in the 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]);

SIEHE AUCH

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

KOLOPHON

       This page is part of release 3.54 of the Linux man-pages project.  A  description  of  the
       project,     and    information    about    reporting    bugs,    can    be    found    at
       http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze <joey@infodrom.org>
       und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt.

       Diese  Übersetzung  ist  Freie  Dokumentation;  lesen  Sie  die GNU General Public License
       Version  3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE   HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.