From 2e5c26b1f8f3fda3ffb6fbbd62649bb995d12f80 Mon Sep 17 00:00:00 2001 From: Wojtek Kaniewski Date: Wed, 14 May 2014 20:46:49 +0200 Subject: [PATCH 1/2] Dodanie informacji o efektach ubocznych GG_GNUC_PRINTF. --- docs/changelog.dox | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/changelog.dox b/docs/changelog.dox index c275fe3b..8011817e 100644 --- a/docs/changelog.dox +++ b/docs/changelog.dox @@ -35,6 +35,8 @@ stałe i pola struktur nie zmieniają dotychczasowego zachowania. - Nowy wynik operacji na liście kontaktów przechowywanej na serwerze \c GG_USERLIST100_REPLY_UPTODATE. +- Funkcje formatujące teksty (\c gg_debug i spółka) będą miały w GCC sprawdzaną poprawność parametrów. Jeśli aplikacja jest budowana z flagami \c -Wformat i \c -Werror, kompilacja może się nie powieść. + \section changelog-1_11_3 libgadu 1.11.3 - Brak zmian API/ABI. From 3b2b6c05dd5b0992f161144036631cc1529ea373 Mon Sep 17 00:00:00 2001 From: Wojtek Kaniewski Date: Thu, 5 Jun 2014 23:52:36 +0200 Subject: [PATCH 2/2] =?UTF-8?q?Tymczasowa=20poprawka=20na=20zbyt=20agresyw?= =?UTF-8?q?n=C4=85=20optymalizacj=C4=99=20kompilatora=20--=20funkcja=20gg?= =?UTF-8?q?=5Fresolver=5Fcleaner()=20nie=20jest=20wo=C5=82ana=20przy=20anu?= =?UTF-8?q?lowaniu=20w=C4=85tku.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/resolver.h | 1 + src/resolver.c | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/resolver.h b/include/resolver.h index e6760234..0a4d2dea 100644 --- a/include/resolver.h +++ b/include/resolver.h @@ -23,5 +23,6 @@ int gg_gethostbyname_real(const char *hostname, struct in_addr **result, unsigned int *count, int pthread); int gg_resolver_recv(int fd, void *buf, size_t len); +void gg_resolver_cleaner(void *data); #endif /* LIBGADU_RESOLVER_H */ diff --git a/src/resolver.c b/src/resolver.c index 33c298ad..d07dab0f 100644 --- a/src/resolver.c +++ b/src/resolver.c @@ -59,9 +59,13 @@ static void (*gg_global_resolver_cleanup)(void **private_data, int force); * \internal Funkcja pomocnicza zwalniająca zasoby po rozwiązywaniu nazwy * w wątku. * + * \note Funkcja nie powinna być statyczna, ponieważ zostanie potraktowana + * jako inline i kompilator może "zoptymalizować" jej wywołanie w funkcji + * pthread_cleanup_pop(). + * * \param data Wskaźnik na wskaźnik bufora zaalokowanego w wątku */ -static void gg_resolver_cleaner(void *data) +void gg_resolver_cleaner(void *data) { void **buf_ptr = (void **) data;