Provided by: manpages-pl-dev_4.18.1-1_all bug

NAZWA

       memcmp - porównuje obszary pamięci

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <string.h>

       int memcmp(const void s1[.n], const void s2[.n], size_t n);

OPIS

       Funkcja  memcmp()  porównuje  pierwsze  n bajtów (każdy interpretowany jako unsigned char)
       obszaru pamięci s1 z obszarem s2.

WARTOŚĆ ZWRACANA

       Funkcja memcmp() zwraca liczbę całkowitą mniejszą od zera, równą zeru lub większą od zera,
       jeżeli s1 jest odpowiednio mniejszy niż, równy lub większy niż pierwsze n bajtów s2.

       Jeśli wartość zwracana jest niezerowa, dodatni lub ujemny znak tej wartości jest określany
       na podstawie znaku różnicy pomiędzy pierwszą parę bajtów (interpretowanych  jako  unsigned
       char), które się różnią pomiędzy s1 i s2.

       Jeśli n jest zerem, zwracaną wartością jest zero.

ATRYBUTY

       Informacje   o   pojęciach   używanych   w  tym  rozdziale  można  znaleźć  w  podręczniku
       attributes(7).

       ┌──────────────────────────────────────────────────────┬────────────────────────┬─────────┐
       │InterfejsAtrybutWartość │
       ├──────────────────────────────────────────────────────┼────────────────────────┼─────────┤
       │memcmp()                                              │ Bezpieczeństwo wątkowe │ MT-Safe │
       └──────────────────────────────────────────────────────┴────────────────────────┴─────────┘

STANDARDY

       POSIX.1-2001, POSIX.1-2008, C99, SVr4, 4.3BSD.

UWAGI

       Nie  należy  używać  memcmp()  do  porównywania   danych   krytycznych   ze   względu   na
       bezpieczeństwo,  takich  jak  sekrety  kryptograficzne,  ponieważ  wymagany czas procesora
       zależy od liczby równający się sobie bajtów. W zamian, wymagana  jest  funkcja  wykonująca
       porównanie  w stałych czasie. Niektóre systemy operacyjne udostępniają taką funkcję (np. w
       systemie NetBSD jest to consttime_memequal()),  lecz  nie  określono  jej  w  specyfikacji
       POSIX. Pod Linuksem może być konieczne samodzielne zaimplementowanie takiej funkcji.

ZOBACZ TAKŻE

       bstring(3), strcasecmp(3), strcmp(3), strcoll(3), strncasecmp(3), strncmp(3), wmemcmp(3)

TŁUMACZENIE

       Autorami   polskiego   tłumaczenia   niniejszej   strony   podręcznika   są:  Adam  Byrtek
       <alpha@irc.pl>,  Andrzej   Krzysztofowicz   <ankry@green.mf.pg.gda.pl>,   Robert   Luberda
       <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją. Bliższe informacje o warunkach licencji
       można   uzyskać   zapoznając   się   z   GNU   General   Public   License   w   wersji   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   lub   nowszej.   Nie  przyjmuje  się  ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy w tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.