Provided by: manpages-pl-dev_0.5-1_all bug

NAZWA

       getcwd, get_current_dir_name, getwd - odczytanie bieżącego katalogu roboczego

SKŁADNIA

       #include <unistd.h>

       char *getcwd(char *buf, size_t size);
       char *get_current_dir_name(void);
       char *getwd(char *buf);

OPIS

        Uwaga! To tłumaczenie może być nieaktualne!

       Funkcja  getcwd()  kopiuje  nazwę  bezwzględnej  ścieżki  dostępu  dla  bieżącego katalogu
       roboczego do tablicy wskazywanej przez buf, która to tablica ma długość size.

       Jeśli nazwa bieżącej  bezwzględnej  ścieżki  dostępu  wymaga  bufora  dłuższego  niż  size
       elementów,  to  zwracane  jest  NULL  a  errno jest ustawiane na ERANGE; aplikacja powinna
       sprawdzać, czy nie wystąpił ten błąd i przydzielać większy bufor, jeśli jest to potrzebne.

       Jeśli buf jest równe NULL, zachowanie getcwd() jest nieokreślone.

       Jako rozszerzenie standardu POSIX.1, linuksowe (libc4, libc5, glibc)  getcwd()  przydziela
       bufor  dynamicznie  korzystając z malloc(), jeśli buf jest równe NULL podczas wywołania. W
       tym przypadku przydzielony bufor ma długość size, chyba że size jest równe  zero.  Wówczas
       dla  buf  jest  przydzielane  tyle,  ile  potrzeba.  Jest  możliwe  (i  naprawdę zalecane)
       zwalnianie otrzymanych w ten sposób buforów za pomocą free().

       get_current_dir_name, które jest jedynie prototypem  gdy  _GNU_SOURCE  jest  zdefiniowane,
       przydzieli  za  pomocą malloc(3) tablicę dostatecznie dużą, aby przechować nazwę bieżącego
       katalogu. Jeśli zmienna środowiskowa PWD jest ustawiona,  a  jej  wartość  prawidłowa,  to
       zostanie zwrócona ta wartość.

       getwd,  które  jest  jedynie  prototypem  gdy  _BSD_SOURCE lub _XOPEN_SOURCE_EXTENDED jest
       zdefiniowane, nie przydzieli żadnej pamięci za pomocą malloc(3).   Argument  buf  powinien
       być  wskaźnikiem  do tablicy o długości co najmniej PATH_MAX bajtów.  getwd zwróci jedynie
       pierwsze PATH_MAX bajtów  nazwy  bieżącej  ścieżki  dostępu.   Należy  zwrócić  uwagę,  że
       PATH_MAX  nie  musi  być  stałą  określaną podczas kompilacji; może ona zależeć od systemu
       plików, a nawet być nieograniczona. Ze względu na przenośność  i  bezpieczeństwo  używanie
       getwd nie jest zalecane.

WARTOŚĆ ZWRACANA

       NULL  w  przypadku błędu, przy jednoczesnym ustawieniu errno, a buf w przypadku pomyślnego
       zakończenia. Zawartość tablicy wskazywanej przez buf w przypadku błędu jest nieokreślona.

BŁĘDY

       EACCES Brak praw do odczytu lub przeszukiwania składnika nazwy pliku.

       EFAULT buf wskazuje na niewłaściwy adres.

       EINVAL Argument size jest zerowy, a buf nie jest wskaźnikiem NULL.

       ENOENT Bieżący katalog roboczy został skasowany.

       ERANGE Argument  size  jest  mniejszy  od  długości  nazwy  katalogu  roboczego.    Trzeba
              przydzielić większą tablicę i spróbować ponownie.

UWAGI

       Pod  Linuksem, funkcja getcwd() jest funkcją systemową (od 2.1.92).  W starszych systemach
       mogła ona odpytywać /proc/self/cwd.  Gdy nie ma ani funkcji systemowej, ani systemu plików
       /proc,  wywoływana  jest  implementacja  ogólna.  Jedynie w takiej sytuacji wywołanie tych
       funkcji może w razie niepomyślnego zakończenia zwrócić błąd EACCES.

       Funkcje te są często używane do zapamiętywania położenia bieżącego  katalogu  roboczego  w
       celu  późniejszego  powrotu  do niego. Gdy dostępnych jest dostatecznie wiele deskryptorów
       plików, otwarcie  bieżącego  katalogu  (".")   i  wywołanie  fchdir(2),  aby  wrócić  jest
       zazwyczaj  szybszą  i bardziej niezawodną alternatywą, zwłaszcza na platformach innych niż
       Linux.

ZGODNE Z

       POSIX.1

ZOBACZ TAKŻE

       chdir(2), fchdir(2), open(2), unlink(2), free(3), malloc(3)

INFORMACJE O TŁUMACZENIU

       Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia  Manuali  i  może
       nie  być  aktualne.  W  razie  zauważenia  różnic  między  powyższym opisem a rzeczywistym
       zachowaniem opisywanego programu lub  funkcji,  prosimy  o  zapoznanie  się  z  oryginalną
       (angielską) wersją strony podręcznika za pomocą polecenia:

              man --locale=C 3 getcwd

       Prosimy  o  pomoc  w  aktualizacji stron man - więcej informacji można znaleźć pod adresem
       http://sourceforge.net/projects/manpages-pl/.