Marcin Mikołajczak napisał(a):
> Otóż jestem bardzo zainteresowany przechwytywaniem debuga, co więcej, 
> jestem nawet gotów zgłosić się na ochotnika i poprzerabiać kod, żeby 
> handler dostawał gg_session* na sesję, której dotyczy dany komunikat 
> (wtedy by to nawet było przydatne). Pod warunkiem oczywiście, że ktoś mi 
> powie czym i jak potem wygenerować patcha, żeby sobie maintenerzy łatwo 
> do CVS-a wrzucili :-)

Jeśli pobierasz kod z CVS, to wystarczy wydać polecenie:

  cvs diff -u > plik.diff

Jeśli łatwiej Ci poprawiać kod z archiwów ze strony, skopiuj katalog
libgadu-1.7.0.orig do libgadu-1.7.0, popraw kod w libgadu-1.7.0, a potem
katalog wyżej wydaj polecenie:

  diff -ur libgadu-1.7.0.orig libgadu-1.7.0 > plik.diff

Zwykle daje się parametry -uNr, które powodują dołączenie nowych plików,
ale Ty pewnie nowych nie utworzysz, a całe mnóstwo plików wygenerowanych
przez configure zaśmieciłoby patcha.

> W sensie żeby takie coś było:
> 
> extern void (*gg_debug_handler)(gg_session* session, int level, const 
> char *format, va_list ap);
> 
> Tak, jestem świadom, że to wymaga poprawienia gg_debug i wszystkich jego 
> wywołań. Więc gdybyśmy tu coś postanowili w sprawie przyszłości debuga w 
> libgadu, to mogę być tym od czarnej roboty, który to wcieli w życie :-)
> 
> Aha, czy tego używa ekg? Bo jest jeszcze kwestia kompatybilności wstecz...

Szczerze mówiąc, mimo ,,nieoficjalności'' gg_debug_handler, wolałbym
zachować istniejący interfejs i mieć osobną funkcję gg_debug_session()
do debugowania danej sesji, która wywoływałaby...

  extern void (*gg_debug_handler_session)(struct gg_session* session,
    int level, const char *format, va_list ap);

...a w razie braku powyższego, zwyczajne gg_debug_handler(). Podobnie
gg_debug() mogłoby spróbować wywołać gg_debug_handler_session() z NULL
zamiast sesji, a w razie braku zachowywać się jak do tej pory. Co Ty na to?

Pozdrawiam,
Wojtek

_______________________________________________
libgadu-devel mailing list
[email protected]
http://lists.ziew.org/mailman/listinfo/libgadu-devel

Reply via email to