Hi,
On Sat, Apr 16, 2011 at 01:10:31AM +0200, Rafał Malinowski wrote:
> Prosta łatka dodająca wsparcie dla pakietu GG_USERLIST100_VERSION=0x5c.
> Mam nadzieję, że niczego nie przegapiłem.
> Index: include/libgadu.h.in
> ===================================================================
> --- include/libgadu.h.in (wersja 1087)
> +++ include/libgadu.h.in (kopia robocza)
> @@ -2182,6 +2192,12 @@
> #define GG_DCC7_TIMEOUT_FILE_ACK 300 /* 5 minut */
> #define GG_DCC7_TIMEOUT_VOICE_ACK 300 /* 5 minut */
>
> +#define GG_USERLIST100_VERSION 0x5c
> +
> +struct gg_userlist100_version {
> + uint32_t version;
> +} GG_PACKED;
> +
> #ifdef __cplusplus
> }
> #ifdef _WIN32
Ten kawałek do protocol.h
> Index: src/handlers.c
> ===================================================================
> --- src/handlers.c (wersja 1087)
> +++ src/handlers.c (kopia robocza)
> @@ -1695,6 +1695,36 @@
> }
>
> /**
> + * \internal Obsługuje pakiet GG_USERLIST100_VERSION.
> + *
> + * Patrz gg_packet_handler_t
> + */
> +static int gg_session_handle_userlist_100_version(struct gg_session *gs,
> uint32_t type, const char *ptr, size_t len, struct gg_event *ge)
> +{
> + struct gg_userlist100_version *version = (struct
> gg_userlist100_version*) ptr;
> + int res = 0;
Ta zmienna jest nie używana?
> + gg_debug_session(gs, GG_DEBUG_MISC, "// gg_watch_fd_connected()
> received userlist 100 version\n");
> +
> + int version_number = gg_fix32(version->version);
Zmienne w C deklarujemy na początku bloku ;)
> + if (version_number > 0xffff) {
> + gg_debug_session(gs, GG_DEBUG_MISC, "//
> gg_session_userlist_100_version() malformed packet (1)\n");
> + goto malformed;
> + }
Jest jakiś powód że ograniczasz wersje do 0xffff? Tak to robi oryginalny
klient?
Pozdr.
_______________________________________________
libgadu-devel mailing list
[email protected]
http://lists.ziew.org/mailman/listinfo/libgadu-devel