FNMATCH(3)

NAZWA
fnmatch - porównanie nazwy pliku lub ścieżki

SKŁADNIA
#include <fnmatch.h>

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

OPIS
Funkcja fnmatch() sprawdza, czy argument string pasuje do wzorca pattern, który jest wzorcem powłoki mogącym zawierać znaki wieloznaczne.

Argument flags modyfikuje zachowanie funkcji, jest to bitowe OR zera lub więcej spośród następujących znaczników:

FNM_NOESCAPE
    Jeśli ten znacznik jest ustawiony, odwrotny ukośnik (" jako zwykły znak, a nie jako znak maskujący.

FNM_PATHNAME
    Jeśli ten znacznik jest ustawiony, ukośnik w string pasuje tylko do ukośnika w pattern a nie, na przykład, do ciągu zawartego w [] zawierającego ukośnik.

FNM_PERIOD
    Jeśli ten znacznik jest ustawiony, początkowa kropka w string musi dokładnie pasować do kropki w pattern. Kropka jest uznawana za początkową, jeśli jest pierwszym znakiem string lub jeśli ustawiony jest znacznik FNM_PATHNAME, a kropka następuje bezpośrednio po ukośniku.

FNM_FILE_NAME
    Jest to synonim GNU dla FNM_PATHNAME.

FNM_LEADING_DIR
    Jeśli ten znacznik (rozszerzenie GNU) jest ustawiony, wzorzec jest uznawany za pasujący jeśli pasuje do początkowego fragmentu string, po którym następuje ukośnik. Ten znacznik jest przeznaczony do wewnętrznego użytku w glibc i jest zaimplementowany tylko w niektórych przypadkach.

FNM_CASEFOLD
    Jeśli ten znacznik (rozszerzenie GNU) jest ustawiony, wielkość liter jest nieistotna.

WARTOŚĆ ZWRACANA
Zero jeśli string pasuje do pattern, FNM_NOMATCH jeśli nie pasuje lub inna niezerowa wartość jeśli wystąpił błąd.

ZGODNE Z
ISO/IEC 9945-2: 1993 (POSIX.2). Znaczniki FNM_FILE_NAME, FNM_LEADING_DIR oraz FNM_CASEFOLD są rozszerzeniami GNU.

ZOBACZ TAKŻE
sh(1), glob(3), scandir(3), glob(7)