summaryrefslogtreecommitdiffstats
path: root/kopete/protocols/gadu/libgadu/common.c
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-12-13 06:26:27 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-12-13 06:26:27 +0000
commit9fab5b8a216e283e563f3457315715672bc8b55a (patch)
treec1251952e4e0e28fad0bca829d49335ff15b6e98 /kopete/protocols/gadu/libgadu/common.c
parentbcb704366cb5e333a626c18c308c7e0448a8e69f (diff)
downloadtdenetwork-9fab5b8a216e283e563f3457315715672bc8b55a.tar.gz
tdenetwork-9fab5b8a216e283e563f3457315715672bc8b55a.zip
Update to Trinity 3.5.11
Will need to watch for commit warnings and rebuild test git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdenetwork@1061808 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kopete/protocols/gadu/libgadu/common.c')
-rw-r--r--kopete/protocols/gadu/libgadu/common.c153
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 <[email protected]>
- * Robert J. Wo�ny <[email protected]>
+ * Robert J. Wo�ny <[email protected]>
*
* 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.
*/