Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fnmatch(3C) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

glob(3C)

wordexp(3C)

fnmatch(5)

fnmatch(3C)                                                     fnmatch(3C)

NAME
     fnmatch - Dateinamen oder Pfadnamen vergleichen

SYNTAX
     #include <fnmatch.h>

     int fnmatch(const char *pattern, const char *string, int flags);

BESCHREIBUNG
     Die Funktion fnmatch() vergleicht Muster. Sie prüft, ob die Zeichen-
     kette im Argument string dem Muster im Argument pattern entspricht.
     Das Argument flags modifiziert die Interpretation der Argumente pat-
     tern und string. Es steht für die bitweise, inklusive ODER-Verknüpfung
     keines oder mehrerer Flags, die in der Include-Datei fnmatch.h defi-
     niert sind.

     Die Funktion fnmatch() kann im wesentlichen auf zwei unterschiedliche
     Arten verwendet werden. Sie kann von Anwendungen oder Dienstprogrammen
     verwendet werden, die ein Dateiverzeichnis lesen müssen, um jeden Ein-
     trag mit einem Muster zu vergleichen. Das Dienstprogramm find wäre ein
     Beispiel hierfür.

     Die Bezeichnung fnmatch() steht für "filename match", also Vergleich
     von Dateinamen. Diese Funktion vergleicht standardmäßig Dateinamen,
     und nicht Pfadnamen, da dem Schrägstrich keine besondere Bedeutung
     beigemessen wird. Bei Verwendung des Flags FNMPATHNAME vergleicht die
     Funktion fnmatch() Pfadnamen, jedoch ohne Tilden-Expansion,
     Parameter-Expansion sowie ohne besondere Behandlung des Punktes am
     Anfang eines Dateinamens. Wenn das Flag FNMPATHNAME in flags gesetzt
     ist, wird ein Schrägstrich in string explizit mit einem Schrägstrich
     in pattern verglichen, und nicht mit den Sonderzeichen Stern (Aste-
     risk) bzw. Fragezeichen oder mit einem Klammerausdruck. Wenn das Flag
     FNMPATHNAME nicht gesetzt ist, wird der Schrägstrich wie ein normales
     Zeichen behandelt.

     Wenn das Flag FNMNOESCAPE nicht in flags gesetzt ist, wird ein Gegen-
     schrägstrich (\) in pattern, gefolgt von einem beliebigen anderen Zei-
     chen, mit diesem zweiten Zeichen in string verglichen. "\\" steht für
     einen Gegenschrägstrich in string. Wenn das Flag FNMNOESCAPE gesetzt
     ist, wird ein Gegenschrägstrich als normales Zeichen behandelt.















Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

fnmatch(3C)                                                     fnmatch(3C)

     Wenn FNMPERIOD in flags gesetzt ist, entspricht ein führender Punkt
     in string einem Punkt in pattern. Die Position eines führenden Punktes
     wird durch den Wert von FNMPATHNAME angezeigt:

     -  Wenn FNMPATHNAME gesetzt ist, ist ein Punkt dann "führend, wenn er
        das erste Zeichen in string ist oder direkt auf einen Schrägstrich
        folgt.

     -  Wenn FNMPATHNAME nicht gesetzt ist, ist ein Punkt nur dann füh-
        rend, wenn er das erste Zeichen in string ist.

     Wenn FNMPERIOD nicht gesetzt ist, gibt es keine besonderen Einschrän-
     kungen für den Vergleich von Punkten.

     Mit den folgenden Flags kann die Interpretation von Bereichsangaben in
     pattern beeinflußt werden:

     -  Wenn FNMRANGEOK gesetzt ist, wird eine Bereichsangabe der Form
        [m-n-r] als [m-r] interpretiert.

     -  Wenn FNMRANGEERR gesetzt ist, verursacht die Bereichsangabe [m-
        n-r] die Rückgabe eines Fehlerwertes.

     -  FNMCLRANGEERR initiiert die Rückgabe eines Fehlerwertes bei einer
        Bereichsangaben der Form [[=m=]-r]. Ist FMNCLRANGEERR nicht
        gesetzt, wird das Minuszeichen - als normales Zeichen behandelt.

ERGEBNIS
     Wenn string dem Muster in pattern entspricht, gibt fnmatch() Null
     zurück. Wenn es keine Entsprechung gibt, gibt fnmatch() FNMNOMATCH
     zurück. Falls ein unbekanntes Muster oder ein unbekanntes Flag angege-
     ben wurde, gibt fnmatch() FNMBADPAT zurück. Beide Fehlerwerte sind in
     der Include-Datei fnmatch.h definiert. Wenn ein anderer Fehler auf-
     tritt, gibt fnmatch() einen anderen Wert ungleich Null zurück.

     Falls die Funktion fnmatch() nicht unterstützt ist, gibt fnmatch()
     FNMNOSYS zurück und setzt errno auf ENOSYS.

SIEHE AUCH
     glob(3C), wordexp(3C), fnmatch(5).














Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026