diff options
Diffstat (limited to 'kopete/protocols/gadu/libgadu/common.c')
-rw-r--r-- | kopete/protocols/gadu/libgadu/common.c | 153 |
1 files changed, 79 insertions, 74 deletions
diff --git a/kopete/protocols/gadu/libgadu/common.c b/kopete/protocols/gadu/libgadu/common.c index 2e835fca..01be6f5a 100644 --- a/kopete/protocols/gadu/libgadu/common.c +++ b/kopete/protocols/gadu/libgadu/common.c @@ -2,7 +2,7 @@ /* * (C) Copyright 2001-2002 Wojtek Kaniewski <wojtekka@irc.pl> - * Robert J. Woźny <speedy@ziew.org> + * Robert J. Woďż˝ny <speedy@ziew.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License Version @@ -44,12 +44,12 @@ FILE *gg_debug_file = NULL; #ifndef GG_DEBUG_DISABLE /* - * gg_debug() // funkcja wewnętrzna + * gg_debug() // funkcja wewnďż˝trzna * - * wyświetla komunikat o danym poziomie, o ile użytkownik sobie tego życzy. + * wyďż˝wietla komunikat o danym poziomie, o ile uďż˝ytkownik sobie tego ďż˝yczy. * - * - level - poziom wiadomości - * - format... - treść wiadomości (kompatybilna z printf()) + * - level - poziom wiadomoďż˝ci + * - format... - tre�� wiadomoďż˝ci (kompatybilna z printf()) */ void gg_debug(int level, const char *format, ...) { @@ -79,15 +79,15 @@ cleanup: /* * gg_vsaprintf() // funkcja pomocnicza * - * robi dokładnie to samo, co vsprintf(), tyle że alokuje sobie wcześniej - * miejsce na dane. powinno działać na tych maszynach, które mają funkcję - * vsnprintf() zgodną z C99, jak i na wcześniejszych. + * robi dokďż˝adnie to samo, co vsprintf(), tyle ďż˝e alokuje sobie wczeďż˝niej + * miejsce na dane. powinno dziaďż˝aďż˝ na tych maszynach, ktďż˝re majďż˝ funkcjďż˝ + * vsnprintf() zgodnďż˝ z C99, jak i na wczeďż˝niejszych. * - * - format - opis wyświetlanego tekstu jak dla printf() - * - ap - lista argumentów dla printf() + * - format - opis wyďż˝wietlanego tekstu jak dla printf() + * - ap - lista argumentďż˝w dla printf() * - * zaalokowany bufor, który należy później zwolnić, lub NULL - * jeśli nie udało się wykonać zadania. + * zaalokowany bufor, ktďż˝ry naleďż˝y p��niej zwolniďż˝, lub NULL + * jeďż˝li nie udaďż˝o siďż˝ wykonaďż˝ zadania. */ char *gg_vsaprintf(const char *format, va_list ap) { @@ -129,8 +129,8 @@ char *gg_vsaprintf(const char *format, va_list ap) { char tmp[2]; - /* libce Solarisa przy buforze NULL zawsze zwracają -1, więc - * musimy podać coś istniejącego jako cel printf()owania. */ + /* libce Solarisa przy buforze NULL zawsze zwracajďż˝ -1, wiďż˝c + * musimy podaďż˝ coďż˝ istniejďż˝cego jako cel printf()owania. */ size = vsnprintf(tmp, sizeof(tmp), format, ap); if (!(buf = malloc(size + 1))) return NULL; @@ -157,14 +157,14 @@ char *gg_vsaprintf(const char *format, va_list ap) /* * gg_saprintf() // funkcja pomocnicza * - * robi dokładnie to samo, co sprintf(), tyle że alokuje sobie wcześniej - * miejsce na dane. powinno działać na tych maszynach, które mają funkcję - * vsnprintf() zgodną z C99, jak i na wcześniejszych. + * robi dokďż˝adnie to samo, co sprintf(), tyle ďż˝e alokuje sobie wczeďż˝niej + * miejsce na dane. powinno dziaďż˝aďż˝ na tych maszynach, ktďż˝re majďż˝ funkcjďż˝ + * vsnprintf() zgodnďż˝ z C99, jak i na wczeďż˝niejszych. * - * - format... - treść taka sama jak w funkcji printf() + * - format... - tre�� taka sama jak w funkcji printf() * - * zaalokowany bufor, który należy później zwolnić, lub NULL - * jeśli nie udało się wykonać zadania. + * zaalokowany bufor, ktďż˝ry naleďż˝y p��niej zwolniďż˝, lub NULL + * jeďż˝li nie udaďż˝o siďż˝ wykonaďż˝ zadania. */ char *gg_saprintf(const char *format, ...) { @@ -181,19 +181,20 @@ char *gg_saprintf(const char *format, ...) /* * gg_get_line() // funkcja pomocnicza * - * podaje kolejną linię z bufora tekstowego. niszczy go bezpowrotnie, dzieląc - * na kolejne stringi. zdarza się, nie ma potrzeby pisania funkcji dublującej - * bufor żeby tylko mieć nieruszone dane wejściowe, skoro i tak nie będą nam - * poźniej potrzebne. obcina `\r\n'. + * podaje kolejnďż˝ liniďż˝ z bufora tekstowego. niszczy go bezpowrotnie, dzielďż˝c + * na kolejne stringi. zdarza siďż˝, nie ma potrzeby pisania funkcji dublujďż˝cej + * bufor ďż˝eby tylko mieďż˝ nieruszone dane wejďż˝ciowe, skoro i tak nie bďż˝dďż˝ nam + * poďż˝niej potrzebne. obcina `\r\n'. * - * - ptr - wskaźnik do zmiennej, która przechowuje aktualną pozycję + * - ptr - wskaďż˝nik do zmiennej, ktďż˝ra przechowuje aktualnďż˝ pozycjďż˝ * w przemiatanym buforze * - * wskaźnik do kolejnej linii tekstu lub NULL, jeśli to już koniec bufora. + * wskaďż˝nik do kolejnej linii tekstu lub NULL, jeďż˝li to juďż˝ koniec bufora. */ char *gg_get_line(char **ptr) { - char *foo, *res; + const char *foo; + char *res; if (!ptr || !*ptr || !strcmp(*ptr, "")) return NULL; @@ -204,7 +205,6 @@ char *gg_get_line(char **ptr) *ptr += strlen(*ptr); else { *ptr = foo + 1; - *foo = 0; if (strlen(res) > 1 && res[strlen(res) - 1] == '\r') res[strlen(res) - 1] = 0; } @@ -215,15 +215,15 @@ char *gg_get_line(char **ptr) /* * gg_connect() // funkcja pomocnicza * - * łączy się z serwerem. pierwszy argument jest typu (void *), żeby nie - * musieć niczego inkludować w libgadu.h i nie psuć jakiś głupich zależności + * ��czy siďż˝ z serwerem. pierwszy argument jest typu (void *), ďż˝eby nie + * musieďż˝ niczego inkludowaďż˝ w libgadu.h i nie psuďż˝ jakiďż˝ gďż˝upich zaleďż˝noďż˝ci * na dziwnych systemach. * * - addr - adres serwera (struct in_addr *) * - port - port serwera - * - async - asynchroniczne połączenie + * - async - asynchroniczne po��czenie * - * deskryptor gniazda lub -1 w przypadku błędu (kod błędu w zmiennej errno). + * deskryptor gniazda lub -1 w przypadku b��du (kod b��du w zmiennej errno). */ int gg_connect(void *addr, int port, int async) { @@ -288,13 +288,13 @@ int gg_connect(void *addr, int port, int async) /* * gg_read_line() // funkcja pomocnicza * - * czyta jedną linię tekstu z gniazda. + * czyta jednďż˝ liniďż˝ tekstu z gniazda. * * - sock - deskryptor gniazda - * - buf - wskaźnik do bufora - * - length - długość bufora + * - buf - wskaďż˝nik do bufora + * - length - dďż˝ugo�� bufora * - * jeśli trafi na błąd odczytu lub podano nieprawidłowe parametry, zwraca NULL. + * jeďż˝li trafi na b��d odczytu lub podano nieprawidďż˝owe parametry, zwraca NULL. * inaczej zwraca buf. */ char *gg_read_line(int sock, char *buf, int length) @@ -330,9 +330,9 @@ char *gg_read_line(int sock, char *buf, int length) /* * gg_chomp() // funkcja pomocnicza * - * ucina "\r\n" lub "\n" z końca linii. + * ucina "\r\n" lub "\n" z koďż˝ca linii. * - * - line - linia do przycięcia + * - line - linia do przyciďż˝cia */ void gg_chomp(char *line) { @@ -350,15 +350,15 @@ void gg_chomp(char *line) } /* - * gg_urlencode() // funkcja wewnętrzna + * gg_urlencode() // funkcja wewnďż˝trzna * - * zamienia podany tekst na ciąg znaków do formularza http. przydaje się - * przy różnych usługach katalogu publicznego. + * zamienia podany tekst na ciďż˝g znakďż˝w do formularza http. przydaje siďż˝ + * przy r��nych usďż˝ugach katalogu publicznego. * - * - str - ciąg znaków do zakodowania + * - str - ciďż˝g znakďż˝w do zakodowania * - * zaalokowany bufor, który należy później zwolnić albo NULL - * w przypadku błędu. + * zaalokowany bufor, ktďż˝ry naleďż˝y p��niej zwolniďż˝ albo NULL + * w przypadku b��du. */ char *gg_urlencode(const char *str) { @@ -397,14 +397,14 @@ char *gg_urlencode(const char *str) } /* - * gg_http_hash() // funkcja wewnętrzna + * gg_http_hash() // funkcja wewnďż˝trzna * - * funkcja licząca hash dla adresu e-mail, hasła i paru innych. + * funkcja liczďż˝ca hash dla adresu e-mail, hasďż˝a i paru innych. * - * - format... - format kolejnych parametrów ('s' jeśli dany parametr jest - * ciągiem znaków lub 'u' jeśli numerem GG) + * - format... - format kolejnych parametrďż˝w ('s' jeďż˝li dany parametr jest + * ciďż˝giem znakďż˝w lub 'u' jeďż˝li numerem GG) * - * hash wykorzystywany przy rejestracji i wszelkich manipulacjach własnego + * hash wykorzystywany przy rejestracji i wszelkich manipulacjach wďż˝asnego * wpisu w katalogu publicznym. */ int gg_http_hash(const char *format, ...) @@ -441,12 +441,12 @@ int gg_http_hash(const char *format, ...) /* * gg_gethostbyname() // funkcja pomocnicza * - * odpowiednik gethostbyname() troszczący się o współbieżność, gdy mamy do - * dyspozycji funkcję gethostbyname_r(). + * odpowiednik gethostbyname() troszczďż˝cy siďż˝ o wsp��bieďż˝no��, gdy mamy do + * dyspozycji funkcjďż˝ gethostbyname_r(). * * - hostname - nazwa serwera * - * zwraca wskaźnik na strukturę in_addr, którą należy zwolnić. + * zwraca wskaďż˝nik na strukturďż˝ in_addr, ktďż˝rďż˝ naleďż˝y zwolniďż˝. */ struct in_addr *gg_gethostbyname(const char *hostname) { @@ -540,20 +540,20 @@ struct gg_win32_thread *gg_win32_threads = 0; /* * gg_win32_thread_socket() // funkcja pomocnicza, tylko dla win32 * - * zwraca deskryptor gniazda, które było ostatnio tworzone dla wątku + * zwraca deskryptor gniazda, ktďż˝re byďż˝o ostatnio tworzone dla wďż˝tku * o podanym identyfikatorze. * - * jeśli na win32 przy połączeniach synchronicznych zapamiętamy w jakim - * wątku uruchomiliśmy funkcję, która się z czymkolwiek łączy, to z osobnego - * wątku możemy anulować połączenie poprzez gg_win32_thread_socket(watek, -1); + * jeďż˝li na win32 przy po��czeniach synchronicznych zapamiďż˝tamy w jakim + * wďż˝tku uruchomiliďż˝my funkcjďż˝, ktďż˝ra siďż˝ z czymkolwiek ��czy, to z osobnego + * wďż˝tku moďż˝emy anulowaďż˝ po��czenie poprzez gg_win32_thread_socket(watek, -1); * - * - thread_id - id wątku. jeśli jest równe 0, brany jest aktualny wątek, - * jeśli równe -1, usuwa wpis o podanym sockecie. - * - socket - deskryptor gniazda. jeśli równe 0, zwraca deskryptor gniazda - * dla podanego wątku, jeśli równe -1, usuwa wpis, jeśli coś - * innego, ustawia dla podanego wątku dany numer deskryptora. + * - thread_id - id wďż˝tku. jeďż˝li jest rďż˝wne 0, brany jest aktualny wďż˝tek, + * jeďż˝li rďż˝wne -1, usuwa wpis o podanym sockecie. + * - socket - deskryptor gniazda. jeďż˝li rďż˝wne 0, zwraca deskryptor gniazda + * dla podanego wďż˝tku, jeďż˝li rďż˝wne -1, usuwa wpis, jeďż˝li coďż˝ + * innego, ustawia dla podanego wďż˝tku dany numer deskryptora. * - * jeśli socket jest równe 0, zwraca deskryptor gniazda dla podanego wątku. + * jeďż˝li socket jest rďż˝wne 0, zwraca deskryptor gniazda dla podanego wďż˝tku. */ int gg_win32_thread_socket(int thread_id, int socket) { @@ -608,9 +608,9 @@ static char gg_base64_charset[] = /* * gg_base64_encode() * - * zapisuje ciąg znaków w base64. + * zapisuje ciďż˝g znakďż˝w w base64. * - * - buf - ciąg znaków. + * - buf - ciďż˝g znakďż˝w. * * zaalokowany bufor. */ @@ -665,14 +665,15 @@ char *gg_base64_encode(const char *buf) /* * gg_base64_decode() * - * dekoduje ciąg znaków z base64. + * dekoduje ciďż˝g znakďż˝w z base64. * - * - buf - ciąg znaków. + * - buf - ciďż˝g znakďż˝w. * * zaalokowany bufor. */ char *gg_base64_decode(const char *buf) { + const char *foo2; char *res, *save, *foo, val; const char *end; unsigned int index = 0; @@ -692,8 +693,12 @@ char *gg_base64_decode(const char *buf) buf++; continue; } - if (!(foo = strchr(gg_base64_charset, *buf))) + if (!(foo2 = strchr(gg_base64_charset, *buf))) { foo = gg_base64_charset; + } + else { + foo = foo2; + } val = (int)(foo - gg_base64_charset); buf++; switch (index) { @@ -721,11 +726,11 @@ char *gg_base64_decode(const char *buf) } /* - * gg_proxy_auth() // funkcja wewnętrzna + * gg_proxy_auth() // funkcja wewnďż˝trzna * - * tworzy nagłówek autoryzacji dla proxy. + * tworzy nag��wek autoryzacji dla proxy. * - * zaalokowany tekst lub NULL, jeśli proxy nie jest włączone lub nie wymaga + * zaalokowany tekst lub NULL, jeďż˝li proxy nie jest w��czone lub nie wymaga * autoryzacji. */ char *gg_proxy_auth() @@ -764,7 +769,7 @@ static uint32_t gg_crc32_table[256]; static int gg_crc32_initialized = 0; /* - * gg_crc32_make_table() // funkcja wewnętrzna + * gg_crc32_make_table() // funkcja wewnďż˝trzna */ static void gg_crc32_make_table() { @@ -786,11 +791,11 @@ static void gg_crc32_make_table() /* * gg_crc32() * - * wyznacza sumę kontrolną CRC32 danego bloku danych. + * wyznacza sumďż˝ kontrolnďż˝ CRC32 danego bloku danych. * - * - crc - suma kontrola poprzedniego bloku danych lub 0 jeśli pierwszy + * - crc - suma kontrola poprzedniego bloku danych lub 0 jeďż˝li pierwszy * - buf - bufor danych - * - size - ilość danych + * - size - ilo�� danych * * suma kontrolna CRC32. */ |