Następna strona Poprzednia strona Spis treści

7. Naprawa błędu "catopen".

Instalacja obsługi ustawień lokalnych naprawia automatycznie błąd (a może zaletę) w poleceniu "catopen" w bibliotece libc. Powiedzmy, że napiszesz program, który używa komunikatów z katalogu /home/peeter/catalogs/de_DE.

Teraz - jeśli wykonasz następujące polecenia nie mając zainstalowanych ustawień lokalnych dla de_DE,

   export LC_MESSAGES=de_DE
   export NLSPATH=/home/peeter/catalogs/%L/%N.cat:$NLSPATH

katalog z niemieckimi komunikatami nie zostanie otwarty. Funkcja catgets pobierze komunikaty z katalogu standardowego.

Dzieje się tak ponieważ funkcja "catopen" wywołuje funkcję "setlocale", żeby pobrać odpowiednie komunikaty, a funkcja "setlocale" zwróci błąd pomimo tego, że została ustawiona zmienna środowiskowa. Następnie funkcja "catopen" próbuje załadować komunikaty zastępując wszystkie "L" literą "C" w zmiennej NLSPATH.

Możesz nadal używać swojego katalogu z komunikatami bez definiowania ustawień lokalnych, ale musiałbyś bezpośrednio ustawić część "L" zmiennej NLSPATH:

   export NLSPATH=/home/peeter/catalogs/de_DE/%N.cat:$NLSPATH

ale to mija się z celem zastosowania zmiennych ustawień lokalnych.


Następna strona Poprzednia strona Spis treści