<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.network.jabber.ekg2.devel">
    <title>gmane.network.jabber.ekg2.devel</title>
    <link>http://blog.gmane.org/gmane.network.jabber.ekg2.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1570"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1564"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1561"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1559"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1553"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1552"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1549"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1547"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1546"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1544"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1541"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1540"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1539"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1538"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1536"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1531"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1528"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1525"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1524"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1520"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1570">
    <title>[root&lt; at &gt;toxygen.net: Cron &lt;deletek&lt; at &gt;toxygen&gt; . $HOME/ekg2-website/website-scripts/common.sh; logging_start install-website; cd $HOME/ekg2-website &amp;&amp; git pull &amp;&amp; ./website-scripts/install-website $website (failed)]</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1570</link>
    <description>&lt;pre&gt;Wygląda na to, że ktoś wczoraj wieczorem na maszynie na której jest
strona WWW wprowadził błąd do pliku common.sh, a nie wysłał zmiany do
github.com/porridge/ekg2-website.git...

&lt;/pre&gt;</description>
    <dc:creator>Marcin Owsiany</dc:creator>
    <dc:date>2012-04-16T07:30:40</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1564">
    <title>ncurses-online-redraw</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1564</link>
    <description>&lt;pre&gt;Kłaniam!

Przerobiłem sposób wyświetlania w ncurses i zrobiłem to w osobnej gałęzi, bo
to kontrrewolucja, a nie drobne zmiany:
   - wywaliłem 'struct screen_line' i wszystko co z tym było związane
   - w związku z tym zawartość okien nie jest przeliczana na zapas, a tylko
     przy wyświetlaniu danego okna

Tak więc przy pokazaniu lub ukryciu okna kontaktów nie musimy przeliczać
10000 linii okna debug, do którego i tak nie zaglądaliśmy i nie mamy zamiaru
robić tego w przewidywalnej przyszłości.

Wprowadziłem też zmienną 'ncurses:display_mode', która odpowiada za styl
wyświetlania zawartości okien.

ncurses:display_mode = 0 (classic) -- wszystko tak jak dotychczas.


ncurses:display_mode = 1 (mode1) -- (jak to nazwać?)

12:43:50 Długie linie wyświetlane są w ten sposób, że w timestamp jest
wyświetlany tylko w pierwszej linii, a w kolejnych już nie. Wyjątek stanowią
linie, które mają 'prompt', jak ta następna.
12:45:20 ::: Długa linia z promptem też nie powtarza timestampu w kolejnych
         ::: wierszach, ale prompt jest wyrównany do tego z pierwszej linii


ncurses:display_mode = 1 (mode2) -- (jak to nazwać?

12:46:18 Przy takim ustawieniu timestamp jest również wyświetlany wyłącznie w
         pierwszej linii, ale linie są wyrównane. W tym przypadku nie ma
 żadnego wyjątku dla linii z promptem.



Zapraszam do testów, najlepiej z ustawionym 
ncurses:backlog_scroll_half_page = 0 (off), bo przewijanie o pół strony, to
żadna sztuka. W wolnej chwili poprawię przewijanie stron, na których znajduje
się znacznik (/mark), bo to i dotychczas nie działało zbyt dobrze (eufemizm).

Po uzupełnieniu dokumentacji będę chciał to włączyć do master.

Proszę o opinie.

Pozdrawiam,
    wiechu


&lt;/pre&gt;</description>
    <dc:creator>Wiesław Ochmiński</dc:creator>
    <dc:date>2012-02-02T11:48:34</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1561">
    <title>Locking for debug handler</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1561</link>
    <description>&lt;pre&gt;Please review.

&lt;/pre&gt;</description>
    <dc:creator>Marcin Owsiany</dc:creator>
    <dc:date>2012-01-27T21:32:42</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1559">
    <title>bugtracker down</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1559</link>
    <description>&lt;pre&gt;:-/

Internal error

An error occurred on the page you were trying to access.
If you continue to experience problems please contact your Redmine
administrator for assistance.

If you are the Redmine administrator, check your log files for details
about the error.

Back

&lt;/pre&gt;</description>
    <dc:creator>Marcin Owsiany</dc:creator>
    <dc:date>2012-01-27T10:45:08</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1553">
    <title>Fix for #124: Deadlock in fatal signal handler</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1553</link>
    <description>&lt;pre&gt;The following patch series fixes bug#124
http://bugs.ekg2.org/issues/124

It's a little brutal solution, but I think reliably getting a usable corefile
is more useful then unreliably getting your settings saved.
Please review.

[PATCH 1/3] Infrastructure for registering and running abort handlers.
[PATCH 2/3] Helper macro for ignoring results without warnings.
[PATCH 3/3] Make the fatal signal handlers async-signal-safe again.


&lt;/pre&gt;</description>
    <dc:creator>porridge&lt; at &gt;debian.org</dc:creator>
    <dc:date>2012-01-01T10:54:58</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1552">
    <title>Procesy zombies pozostawione przez ekg2</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1552</link>
    <description>&lt;pre&gt;Witam,

Zauważyłem wczoraj, że ekg2 zostawia po sobie procesy zombie:

4900  0.0  0.0      0     0 pts/3    Z+   Nov02   0:00 [ekg2] &amp;lt;defunct&amp;gt;

Po kilku tygodniach uptime'u nazbierało się ich 60, od wczoraj, po
restarcie aplikacji 4.  Jedynym miejscem (wyłączając pluginy których
nie używam), gdzie widzę fork() jest ekg/net.c w resolwerze.  Nie mogę
za to znaleźć odpowiadającego mu wait() lub waitpid().  Próbowałem też
dodawać 'signal(SIGCHLD, SIG_IGN)' do main(), ale niczego to nie
zmieniło, czego dowodem są dzisiejsze zombie.  Jakieś pomysły?

&lt;/pre&gt;</description>
    <dc:creator>Łukasz Michalik</dc:creator>
    <dc:date>2011-11-03T09:12:54</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1549">
    <title>Deadlock na free() w SIGSEGV-handlerze</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1549</link>
    <description>&lt;pre&gt;Wygląda na segfault w realloc() wywołany z pluginu ncurses, po czym w
handle_sigsegv() przy niszczeniu pluginu logs jest free(), które się z miejsca
zakleszcza.

Wydaje mi się, że w handlerze segfaulta nie powinniśmy mieszać na stercie...

(gdb) bt full
#0  __lll_lock_wait_private ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
No locals.
#1  0x00007f79f4d4e3dc in _L_lock_12449 () from /lib/libc.so.6
No symbol table info available.
#2  0x00007f79f4d4ce78 in __libc_free (mem=0x7f79f504de40) at malloc.c:3736
        ignore1 = 128
        ignore2 = &amp;lt;value optimized out&amp;gt;
        ignore3 = -512
        ar_ptr = 0x7f79f504de40
        p = 0x1c21e20
#3  0x00007f79f1c00f6d in logs_plugin_destroy () at plugins/logs/main.c:1247
        ll = 0x1c21e90
        f = 0x7f79f504de40
        t = 1316556023
        ff = &amp;lt;value optimized out&amp;gt;
        old_logs = 0x1c223d0
        b = &amp;lt;value optimized out&amp;gt;
#4  0x000000000041e64a in handle_sigsegv () at ekg/ekg.c:293
        p = 0xfffffffffffffe00
        pl = 0x1ad3430
#5  &amp;lt;signal handler called&amp;gt;
No symbol table info available.
#6  malloc_consolidate (av=0x7f79f504de40) at malloc.c:5136
        fb = 0x7f79f504de48
        maxfb = 0x7f79f504de90
        p = 0x53253a4d253a4825
        nextp = 0x7f79f504dea8
        unsorted_bin = 0x7f79f504de98
        first_unsorted = 0x1d690
        nextchunk = 0x7f79f504de40
        size = 140161778507328
        nextsize = 120449
        prevsize = &amp;lt;value optimized out&amp;gt;
        bck = 0x1d690
        fwd = 0x1d650
        __func__ = "malloc_consolidate"
#7  0x00007f79f4d49fad in _int_malloc (av=0x7f79f504de40, bytes=120449)
    at malloc.c:4372
        nb = 120464
        idx = 120464
        bin = &amp;lt;value optimized out&amp;gt;
        victim = 0x1d650
        size = &amp;lt;value optimized out&amp;gt;
        victim_index = &amp;lt;value optimized out&amp;gt;
        remainder = &amp;lt;value optimized out&amp;gt;
        remainder_size = &amp;lt;value optimized out&amp;gt;
        block = &amp;lt;value optimized out&amp;gt;
        bit = &amp;lt;value optimized out&amp;gt;
        map = &amp;lt;value optimized out&amp;gt;
        fwd = &amp;lt;value optimized out&amp;gt;
        bck = &amp;lt;value optimized out&amp;gt;
        errstr = &amp;lt;value optimized out&amp;gt;
        __func__ = "_int_malloc"
#8  0x00007f79f4d4cb52 in _int_realloc (av=0x7f79f504de40, oldp=0x2159f90, 
    oldsize=&amp;lt;value optimized out&amp;gt;, nb=120464) at malloc.c:5273
        nextsize = &amp;lt;value optimized out&amp;gt;
        newp = &amp;lt;value optimized out&amp;gt;
        newsize = 120400
        newmem = &amp;lt;value optimized out&amp;gt;
        next = 0x21775e0
        remainder = &amp;lt;value optimized out&amp;gt;
        remainder_size = &amp;lt;value optimized out&amp;gt;
        bck = &amp;lt;value optimized out&amp;gt;
        fwd = &amp;lt;value optimized out&amp;gt;
        copysize = &amp;lt;value optimized out&amp;gt;
        ncopies = &amp;lt;value optimized out&amp;gt;
        s = &amp;lt;value optimized out&amp;gt;
        errstr = &amp;lt;value optimized out&amp;gt;
        __func__ = "_int_realloc"
#9  0x00007f79f4d4d0b0 in __libc_realloc (oldmem=0x2159fa0, bytes=120456)
    at malloc.c:3821
        ar_ptr = 0x7f79f504de40
        nb = 120464
        newp = &amp;lt;value optimized out&amp;gt;
        oldp = 0x2159f90
        oldsize = 120400
        __func__ = "__libc_realloc"
#10 0x00007f79f54cf58f in g_realloc () from /lib/libglib-2.0.so.0
No symbol table info available.
#11 0x00007f79f19e68a6 in ncurses_backlog_split (w=&amp;lt;value optimized out&amp;gt;, 
    full=&amp;lt;value optimized out&amp;gt;, removed=1) at plugins/ncurses/backlog.c:137
        word = &amp;lt;value optimized out&amp;gt;
        width = 0
        ts_width = &amp;lt;value optimized out&amp;gt;
        str = 0x1b31f40 "// gg_watch_fd() GG_STATE_CONNECTED"
        j = &amp;lt;value optimized out&amp;gt;
        wrapping = 0
        lastts = 0
        attr = 0x1c02590
        l = 0x1
        margin_left = &amp;lt;value optimized out&amp;gt;
        ts = 1316556023
        lasttsbuf = "\000\000\000\000\000\000\000\000&amp;lt; at &amp;gt;\336\004\365y\177\000\000\000\000\000\000\000\000\000\000&amp;lt; at &amp;gt;\336\004\365y\177\000\000\000\000\000\000\000\000\000\000\360H\250\001\000\000\000\000\340q\307\001", '\000' &amp;lt;repeats 12 times&amp;gt;, "\f\000\000\000\000\000\000\000:H\325\364y\177\000\000\060q\300\001\000\000\000\000&amp;lt; at &amp;gt;_\261\001\000\000\000\000\000\000\000"
        prompt_width = 0
        i = &amp;lt;value optimized out&amp;gt;
        res = 1
        bottom = 0
        timestamp_format = 0x1c07130 "%H:%M:%S"
        n = 0x1b15f40
#12 0x00007f79f19ef98a in ncurses_ui_window_print (data=&amp;lt;value optimized out&amp;gt;, 
    ap=&amp;lt;value optimized out&amp;gt;) at plugins/ncurses/main.c:203
        w = 0x1a848f0
        line = 0x1d681
        n = 0x1b15f40
        bottom = 1
        prev_count = 1672
        count = &amp;lt;value optimized out&amp;gt;
#13 0x0000000000422f7f in query_emit_inner (g=&amp;lt;value optimized out&amp;gt;, 
    ap=&amp;lt;value optimized out&amp;gt;) at ekg/plugins.c:681
        nested = 1
        handler = 0x7f79f504dea8 &amp;lt;main_arena+104&amp;gt;
        result = &amp;lt;value optimized out&amp;gt;
        ap_plugin = {{gp_offset = 32, fp_offset = 48, 
            overflow_arg_area = 0x7fff1d30a0f0, 
            reg_save_area = 0x7fff1d30a000}}
#14 0x000000000042308d in query_emit (plugin=0x0, 
    name=0x4444dc "ui-window-print") at ekg/plugins.c:702
        result = 0
        ap = {{gp_offset = 16, fp_offset = 48, 
            overflow_arg_area = 0x7fff1d30a0f0, 
            reg_save_area = 0x7fff1d30a000}}
        g = 0x1ad9120
        name_hash = 1942728659
#15 0x000000000043eee3 in window_print (w=0x1a848f0, line=0x1c77e30)
    at ekg/windows.c:333
        __PRETTY_FUNCTION__ = "window_print"
#16 0x000000000043b1d1 in print_window_c (w=0x1a848f0, 
    activity=&amp;lt;value optimized out&amp;gt;, theme=&amp;lt;value optimized out&amp;gt;, 
    ap=&amp;lt;value optimized out&amp;gt;) at ekg/themes.c:908
        p = 0x0
        l = 0x1c77e30
        prompt = 0x0
        line = &amp;lt;value optimized out&amp;gt;
        tmp = 0x1b2e608 ""
        stmp = 0x1b2e5e0 "\033[0m// gg_watch_fd() GG_STATE_CONNECTED"
#17 0x000000000043b2f6 in print_window_w (w=0x7f79f504de40, activity=120449, 
    theme=0x1d690 &amp;lt;Address 0x1d690 out of bounds&amp;gt;) at ekg/themes.c:1102
        ap = {{gp_offset = 32, fp_offset = 48, 
            overflow_arg_area = 0x7fff1d30a240, 
            reg_save_area = 0x7fff1d30a180}}
#18 0x000000000041e8f0 in ekg_debug_handler (level=5, 
    format=&amp;lt;value optimized out&amp;gt;, ap=&amp;lt;value optimized out&amp;gt;) at ekg/ekg.c:443
        line = 0x0
        tmp = 0x1c4d340 "// gg_watch_fd() GG_STATE_CONNECTED"
        theme_format = 0x441adc "debug"
        is_UI = 1
#19 0x00007f79f2611697 in gg_debug_session () from /usr/lib/libgadu.so.3
No symbol table info available.
#20 0x00007f79f2613740 in gg_watch_fd () from /usr/lib/libgadu.so.3
No symbol table info available.
#21 0x00007f79f283a0ee in gg_session_handler (type=&amp;lt;value optimized out&amp;gt;, 
    fd=12, watch=WATCH_READ, s=0x746000) at plugins/gg/gg.c:1207
        g = 0x1b8da20
        e = &amp;lt;value optimized out&amp;gt;
#22 0x000000000042cc5b in watch_handle (f=&amp;lt;value optimized out&amp;gt;, cond=G_IO_IN, 
    data=&amp;lt;value optimized out&amp;gt;) at ekg/sources.c:1373
No locals.
#23 watch_old_wrapper (f=&amp;lt;value optimized out&amp;gt;, cond=G_IO_IN, 
    data=&amp;lt;value optimized out&amp;gt;) at ekg/sources.c:1388
        ret = &amp;lt;value optimized out&amp;gt;
        w = 0x1a9d730
        __PRETTY_FUNCTION__ = "watch_old_wrapper"
#24 0x00007f79f54c68c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
No symbol table info available.
#25 0x00007f79f54ca748 in ?? () from /lib/libglib-2.0.so.0
No symbol table info available.
#26 0x00007f79f54ca8fc in g_main_context_iteration ()
   from /lib/libglib-2.0.so.0
No symbol table info available.
#27 0x000000000041e2bc in main (argc=1, argv=0x7fff1d30b028) at ekg/ekg.c:825
        auto_connect = 1
        no_global_config = 0
        print_version = 0
        tmp = &amp;lt;value optimized out&amp;gt;
        load_theme = 0x0
        new_profile = 0x0
        frontend = 0x0
        opt = &amp;lt;value optimized out&amp;gt;
        err = 0x0
        rlim = {rlim_cur = 18446744073709551615, 
          rlim_max = 18446744073709551615}


&lt;/pre&gt;</description>
    <dc:creator>Marcin Owsiany</dc:creator>
    <dc:date>2011-09-21T09:11:20</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1547">
    <title>Ekg2 wykonanie komend po uruchomieniu ekg</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1547</link>
    <description>&lt;pre&gt;Czy jest możliwość aby po uruchomieniu ekg2 wykonał pewne zdefiniowane
wcześniej komendy ? Np zaraz po uruchomieniu ekg2 wysłał wiadomość do
użytkownika TEST1 o treści "sss" i użytkownika TEST2 o treści "www" i
dodatkowo dwa razy zmienił sesję

Pozdrawiam

ps jeśli temat był już poruszany to przepraszam
&lt;/pre&gt;</description>
    <dc:creator>Wielki Freeman</dc:creator>
    <dc:date>2011-06-30T19:27:33</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1546">
    <title>Skype</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1546</link>
    <description>&lt;pre&gt;Witajcie.
Kolega z irca powiedział mi, że mam poinformować Was o dostępności cennych informacji nt. skype. 

link: http://thepiratebay.org/torrent/6442887/Skype_protocol_reverse_engineered__source_available_for_download

Może któryś z Was zrobi wtyczkę do ekg umożliwiającą kontaktowanie się ze skajpem...

Pozdrawiam Konrad.

&lt;/pre&gt;</description>
    <dc:creator>conrad.</dc:creator>
    <dc:date>2011-06-06T09:59:56</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1544">
    <title>Przedluzenie ekg2.org</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1544</link>
    <description>&lt;pre&gt;Cześć,

Nie bardzo wiem co z tym mam zrobić, więc przesyłam dalej:

----- Forwarded message from "Serwis Domena.pl, Agnat Sp. z o.o." &amp;lt;rozliczenia&amp;lt; at &amp;gt;domena.pl&amp;gt; -----

From: "Serwis Domena.pl, Agnat Sp. z o.o." &amp;lt;rozliczenia&amp;lt; at &amp;gt;domena.pl&amp;gt;
Date: Wed, 25 May 2011 20:02:13 +0200
To: ekg2-users-owner
Message-Id: &amp;lt;E1QPIPN-0003We-OD&amp;lt; at &amp;gt;web.firma.agnat.pl&amp;gt;
X-Mailer: PHP/5.3.5
Subject: Domena.pl: Odnowienie Domen

&amp;lt;p&amp;gt;
    &amp;lt;b&amp;gt;Szanowni Państwo,&amp;lt;/b&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;Uprzejmie informujemy, iż ważność domeny domeny lub opcji wynosi około 4 tygodnie. &amp;lt;br /&amp;gt;
W związku z tym już teraz mogą Państwo uregulować należność wynikającą z tytułu &amp;lt;br /&amp;gt;
abonamentu za posiadaną przez Państwa domenę lub opcję:&amp;lt;/p&amp;gt;
&amp;lt;ul&amp;gt;
    &amp;lt;li&amp;gt;
    ekg2.org    &amp;amp;nbsp;(domena)
        &amp;lt;/li&amp;gt;
    &amp;lt;/ul&amp;gt;


----- End forwarded message -----

Jak jest ktoś chętny do otrzymywania maili z ekg2-{users,devel,commit}-owner,
oraz w ogóle dostępu do panelu administracyjnego mailmana to niech się do mnie zgłosi.

Pozdr.

&lt;/pre&gt;</description>
    <dc:creator>Jakub Zawadzki</dc:creator>
    <dc:date>2011-05-25T18:12:59</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1541">
    <title>Błędy zebrane</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1541</link>
    <description>&lt;pre&gt;Hej!

To mój pierwszy ever mail na tę listę, więc nauczajcie, co robię źle w razie
czego. Zbieram w nim skumulowane żale ostatnich miesięcy ;-).

1. ekg2 właśnie mi się wypieprzyło i przestało uruchamiać. Na starcie robie
dump, jego backtrace to:

#0  0x00007fba346b0150 in g_utf8_validate () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x000000000042842e in ekg_fix_utf8 (buf=0x0) at ekg/recode.c:376
#2  0x00007fba2f4a1c8e in logsqlite_newwin_handler (data=&amp;lt;value optimized
out&amp;gt;, ap=&amp;lt;value optimized out&amp;gt;)
    at plugins/logsqlite/logsqlite.c:796
#3  0x00000000004249bf in query_emit_inner (g=&amp;lt;value optimized out&amp;gt;,
ap=&amp;lt;value optimized out&amp;gt;)
    at ekg/plugins.c:681
#4  0x0000000000424acd in query_emit (plugin=0x0, name=0x44620e
"ui-window-new") at ekg/plugins.c:702
#5  0x0000000000440c9b in window_new (target=0x1b4241c "mkl",
session=0x1a87ae0,
    new_id=&amp;lt;value optimized out&amp;gt;) at ekg/windows.c:313
#6  0x000000000041bfd0 in config_postread () at ekg/configfile.c:84
#7  0x000000000041fb9d in main (argc=1, argv=0x7fff881227c8) at
ekg/ekg.c:765

chyba kiedyś już tak miałem, pomogłem sobie przez wypieprzenie całej
walidacji utf8 i działało dalej, ale to chyba niedobry pomysł ;-)

2.  losowo wypiernicza się gdzieś w usuwaniu starych linii z okna przy
dodawaniu nowych (mówi, że double free) i czasem przy resize okna.

3. eksport kontaktów na serwer gg nie będzie działać, jeżeli UIDy wysyłamy w
postaci "gg:123" zamiast "123" - serwer mówi, że dostał, po czym olewa
błędną w jego mniemaniu treść eksportu

4. na jabberze, a może i na gg, przestało działać auto_away... a raczej
działa doskonale, ale nigdy nie przywraca statusu na bardziej dostępny, gdy
się jest i się pisze. To już od dawna ;-)

To wszystko, co w tej chwili przychodzi mi do głowy, czyli jest nieźle.
Da się to ponaprawiać? Pretty please :)

 Pozdrawiam,
ikari
&lt;/pre&gt;</description>
    <dc:creator>Cezar 'ikari' Pokorski</dc:creator>
    <dc:date>2011-05-17T06:03:19</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1540">
    <title>Ktoś przywiązany do alignów w ircu?</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1540</link>
    <description>&lt;pre&gt;Szanowni Państwo,

W związku z narastającymi problemami z funkcją align w ircu zapytuję
was, czy ktoś przywiązany jest do tej funkcji, czy też mogę ją wywalić?

Generalnie chodzi o to, że zamiast:
&amp;lt;a&amp;gt; blabla
&amp;lt;bb&amp;gt; blabla

próbujemy robić:
 &amp;lt;a&amp;gt; blabla
&amp;lt;bb&amp;gt; blabla

co nie zawsze wychodzi i zdaje się być zrobione jakimś paskudnym
hackiem.

&lt;/pre&gt;</description>
    <dc:creator>Michał Górny</dc:creator>
    <dc:date>2011-04-26T07:06:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1539">
    <title>some patches for irc</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1539</link>
    <description>&lt;pre&gt;Hello.

I've tested all ekg_conection_write commands in irc plugin and
add encoding recoding.
Patch included in mail.

Also I've make a pull request on github:
  https://github.com/leafnode/ekg2/pull/12

--
Best regards 
  Alexander V Vershilov.
From 21028fd51e438954063849f4595aa082b72532d8 Mon Sep 17 00:00:00 2001
From: Alexander Vershilov &amp;lt;alexander.vershilov&amp;lt; at &amp;gt;gmail.com&amp;gt;
Date: Wed, 20 Apr 2011 08:40:02 +0000
Subject: [PATCH] irc recode fixes

---
 plugins/irc/irc.c |  116 +++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 82 insertions(+), 34 deletions(-)

diff --git a/plugins/irc/irc.c b/plugins/irc/irc.c
index 40b9c2c..efe2c82 100644
--- a/plugins/irc/irc.c
+++ b/plugins/irc/irc.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -757,17 +757,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_msg) {
 /* 6 = 3xspace + '!' + 2xsemicolon; -&amp;gt; [:nick!ident&amp;lt; at &amp;gt;hostident PRIVMSG dest :mesg] */
 msg_len = xstrlen(recoded);
 __mtmp = recoded;
+char * real_nick = irc_convert_out(j, NULL, uid+4);
 while ( msg_len &amp;gt; len_limit )
 {
 char saved = __mtmp[len_limit];
 __mtmp[len_limit] = '\0';/* XXX danger: cut unicode chars */
-ekg_connection_write(j-&amp;gt;send_stream, "%s %s :%s\r\n", (prv) ? "PRIVMSG" : "NOTICE", uid+4, __mtmp);
+ekg_connection_write(j-&amp;gt;send_stream, "%s %s :%s\r\n", (prv) ? "PRIVMSG" : "NOTICE", real_nick, __mtmp);
 __mtmp[len_limit] = saved;
 __mtmp += len_limit;
 msg_len -= len_limit;
 }
-ekg_connection_write(j-&amp;gt;send_stream, "%s %s :%s\r\n", (prv) ? "PRIVMSG" : "NOTICE", uid+4, __mtmp);
+ekg_connection_write(j-&amp;gt;send_stream, "%s %s :%s\r\n", (prv) ? "PRIVMSG" : "NOTICE", real_nick, __mtmp);
 
+xfree(real_nick);
 xfree(line);
 xfree(recoded);
 xfree(coloured);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1069,7 +1071,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static QUERY(irc_window_kill) {
 session_connected_get(w-&amp;gt;session)
 )
 {
-ekg_connection_write(j-&amp;gt;send_stream, "PART %s :%s\r\n", (w-&amp;gt;target)+4, PARTMSG(w-&amp;gt;session, NULL));
+char * chan = irc_convert_out(j, NULL, (w-&amp;gt;target)+4);
+char * message = irc_convert_out(j, NULL, PARTMSG(w-&amp;gt;session, NULL));
+ekg_connection_write(j-&amp;gt;send_stream, "PART %s :%s\r\n", chan, message);
+xfree(chan);
+xfree(message);
 }
 return 0;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1376,7 +1382,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_who) {
 &amp;amp;mp, 0, IRC_GC_CHAN)))
 return -1;
 
-ekg_connection_write(j-&amp;gt;send_stream, "WHO %s\r\n", chan+4);
+char * rchan = irc_convert_out(j, NULL, chan+4);
+ekg_connection_write(j-&amp;gt;send_stream, "WHO %s\r\n", rchan);
+xfree(rchan);
 
 g_strfreev(mp);
 xfree(chan);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1396,7 +1404,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_invite) {
 xfree(chan);
 return -1;
 }
-ekg_connection_write(j-&amp;gt;send_stream, "INVITE %s %s\r\n", *mp, chan+4);
+char * rchan = irc_convert_out(j, NULL, chan+4);
+char * rmp = irc_convert_out(j, NULL, *mp);
+ekg_connection_write(j-&amp;gt;send_stream, "INVITE %s %s\r\n", rmp, rchan);
+xfree(rmp);
+xfree(rchan);
 
 g_strfreev(mp);
 xfree(chan);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1416,7 +1428,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_kick) {
 xfree(chan);
 return -1;
 }
-ekg_connection_write(j-&amp;gt;send_stream, "KICK %s %s :%s\r\n", chan+4, *mp, KICKMSG(session, mp[1]));
+
+char * rchan = irc_convert_out(j, NULL, chan+4);
+char * rmp = irc_convert_out(j, NULL, *mp);
+char * rreason = irc_convert_out(j, chan, KICKMSG(session, mp[1]));
+ekg_connection_write(j-&amp;gt;send_stream, "KICK %s %s :%s\r\n", rchan, rmp, rreason);
+xfree(rreason);
+xfree(rmp);
+xfree(rchan);
 
 g_strfreev(mp);
 xfree(chan);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1446,8 +1465,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_unban) {
 chan = irc_find_channel(j-&amp;gt;channels, channame+4);
 if (chan &amp;amp;&amp;amp; (banlist = (chan-&amp;gt;banlist)) ) {
 for (i=1; banlist &amp;amp;&amp;amp; i&amp;lt;banid; banlist = banlist-&amp;gt;next, ++i);
-if (banlist) /* fit or add  i&amp;lt;=banid) ? */
-ekg_connection_write(j-&amp;gt;send_stream, "MODE %s -b %s\r\n", channame+4, (const gchar*) banlist-&amp;gt;data);
+if (banlist) { /* fit or add  i&amp;lt;=banid) ? */
+char * rchan = irc_convert_out(j, NULL, channame+4);
+char * rdata = irc_convert_out(j, NULL, (const gchar*)banlist-&amp;gt;data);
+ekg_connection_write(j-&amp;gt;send_stream, "MODE %s -b %s\r\n", rchan, rdata);
+xfree(rchan);
+xfree(rdata);
+}
 else
 debug_warn("%d %d out of range or no such ban %08x\n", i, banid, banlist);
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1455,7 +1479,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_unban) {
 debug_error("Chanell || chan-&amp;gt;banlist not found -&amp;gt; channel not synced ?!Try /mode +b \n");
 }
 else {
-ekg_connection_write(j-&amp;gt;send_stream, "MODE %s -b %s\r\n", channame+4, *mp);
+char * rchan = irc_convert_out(j, NULL, channame+4);
+char * rmp = irc_convert_out(j, NULL, *mp);
+ekg_connection_write(j-&amp;gt;send_stream, "MODE %s -b %s\r\n", rchan, rmp);
+xfree(rchan);
+xfree(rmp);
 }
 }
 g_strfreev(mp);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1474,10 +1502,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_ban) {
 return -1;
 
 debug_function("[irc]_command_ban(): chan: %s mp[0]:%s mp[1]:%s\n", chan, mp[0], mp[1]);
+char * rchan = irc_convert_out(j, NULL, chan+4);
 
-if (!(*mp))
-ekg_connection_write(j-&amp;gt;send_stream, "MODE %s +b \r\n", chan+4);
-else {
+if (!(*mp)) {
+ekg_connection_write(j-&amp;gt;send_stream, "MODE %s +b \r\n", rchan);
+} else {
 /* if parameter to /ban is prefixed with irc: like /ban irc:xxx
  * we don't care, since this is what user requested ban user with
  * nickname: 'irc:xxx' [this is quite senseless, since IRC servers
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1493,11 +1522,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_ban) {
 if (person)
 temp = irc_make_banmask(session, person-&amp;gt;nick+4, person-&amp;gt;ident, person-&amp;gt;host);
 if (temp) {
-ekg_connection_write(j-&amp;gt;send_stream, "MODE %s +b %s\r\n", chan+4, temp);
+ekg_connection_write(j-&amp;gt;send_stream, "MODE %s +b %s\r\n", rchan, temp);
 xfree(temp);
-} else
-ekg_connection_write(j-&amp;gt;send_stream, "MODE %s +b %s\r\n", chan+4, *mp);
+} else {
+char * rmp = irc_convert_out(j, NULL, *mp);
+ekg_connection_write(j-&amp;gt;send_stream, "MODE %s +b %s\r\n", rchan, rmp);
+xfree(rmp);
+}
 }
+xfree(rchan);
 g_strfreev(mp);
 xfree(chan);
 return 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1521,7 +1554,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_kickban) {
 static COMMAND(irc_command_devop) {
 irc_private_t*j = irc_private(session);
 intmodes, i;
-char**mp, *op, *nicks, *tmp, c, *chan, *p;
+char**mp, *op, *nicks, *tmp, c, *chan, *p, *rchan;
 string_tzzz;
 
 if (!(chan = irc_getchan(session, params, name,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1547,14 +1580,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_devop) {
 string_append_c(zzz, ' '), string_append(zzz, mp[i]);
 
 nicks = string_free(zzz, 0);
-p = irc_convert_out(j, chan+4, nicks);
+p = irc_convert_out(j, NULL, nicks);
+rchan = irc_convert_out(j, NULL, chan);
 
 i=0;
 chan+=4;
 
 tmp = p;
-debug_function("converting %s to %s \n", p, tmp);
-  
 while (1)
 {
 for (i=0; i&amp;lt;modes; i++)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1565,13 +1597,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_devop) {
 
 if (tmp) *(--tmp) = '\0';
 op[i+2]='\0';
-ekg_connection_write(j-&amp;gt;send_stream, "MODE %s %s %s\r\n", chan, op, p);
+ekg_connection_write(j-&amp;gt;send_stream, "MODE %s %s %s\r\n", rchan, op, p);
 if (!tmp) break;
 *tmp = ' ';
 tmp++;
 p = tmp;
 }
 chan-=4;
+xfree(rchan);
 xfree(tmp);
 xfree(chan);
 xfree(nicks);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1582,7 +1615,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_devop) {
 
 static COMMAND(irc_command_ctcp) {
 inti;
-char*who;
+char*who, *rwho;
 char**mp;
 
 /* GiM: XXX */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1599,34 +1632,38 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_ctcp) {
 /*if (!ctcps[i].name) {
 return -1;
 }*/
+rwho = irc_convert_out(irc_private(session), NULL, who+4);
 
 ekg_connection_write(irc_private(session)-&amp;gt;send_stream, "PRIVMSG %s :\01%s\01\r\n",
-who+4, ctcps[i].name?ctcps[i].name:(*mp));
+rwho, ctcps[i].name?ctcps[i].name:(*mp));
 
 g_strfreev(mp);
+xfree(rwho);
 xfree(who);
 return 0;
 }
 
 static COMMAND(irc_command_ping) {
-char**mp, *who;
+char**mp, *who, *rwho;
 GTimeValtv;
 
 if (!(who=irc_getchan(session, params, name, &amp;amp;mp, 0, IRC_GC_ANY)))
 return -1;
+rwho = irc_convert_out(irc_private(session), NULL, who+4);
 
 g_get_current_time(&amp;amp;tv);
-ekg_connection_write(irc_private(session)-&amp;gt;send_stream, "PRIVMSG %s :\01PING %d %d\01\r\n",
-who+4 ,tv.tv_sec, tv.tv_usec);
+ekg_connection_write(irc_private(session)-&amp;gt;send_stream, "PRIVMSG %s :\01PING %ld %ld\01\r\n",
+rwho, tv.tv_sec, tv.tv_usec);
 
 g_strfreev(mp);
+xfree(rwho);
 xfree(who);
 return 0;
 }
 
 static COMMAND(irc_command_me) {
 irc_private_t*j = irc_private(session);
-char**mp, *chan, *chantypes = SOP(_005_CHANTYPES), *col;
+char**mp, *chan, *chantypes = SOP(_005_CHANTYPES), *col, *rchan;
 intmw = session_int_get(session, "make_window"), ischn;
 
 char *str = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1637,9 +1674,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_me) {
 ischn = chantypes?!!xstrchr(chantypes, chan[4]):0;
 
 str = irc_convert_out(j, chan+4, *mp);
+rchan = irc_convert_out(j, NULL, chan+4);
 
 ekg_connection_write(irc_private(session)-&amp;gt;send_stream, "PRIVMSG %s :\01ACTION %s\01\r\n",
-chan+4, str?str:"");
+rchan, str?str:"");
 
 col = irc_ircoldcolstr_to_ekgcolstr(session, *mp, 1);
 print_window(chan, session, EKG_WINACT_MSG, ischn?(mw&amp;amp;1):!!(mw&amp;amp;2),
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1647,6 +1685,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_me) {
 session_name(session), j-&amp;gt;nick, chan, col);
 
 g_strfreev(mp);
+xfree(rchan);
 xfree(chan);
 xfree(col);
 xfree(str);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1654,7 +1693,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_me) {
 }
 
 static COMMAND(irc_command_mode) {
-char**mp, *chan;
+char**mp, *chan, *rchan;
 
 if (!(chan=irc_getchan(session, params, name,
 &amp;amp;mp, 0, IRC_GC_CHAN)))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1668,19 +1707,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_mode) {
 }
 */
 debug_function("irc_command_mode %s %s \n", chan, mp[0]);
+rchan = irc_convert_out(irc_private(session), NULL, chan+4);
 if (!(*mp))
 ekg_connection_write(irc_private(session)-&amp;gt;send_stream, "MODE %s\r\n",
-chan+4);
+rchan);
 else
 ekg_connection_write(irc_private(session)-&amp;gt;send_stream, "MODE %s %s\r\n",
-chan+4, *mp);
+rchan, *mp);
 
 g_strfreev(mp);
+xfree(rchan);
 xfree(chan);
 return 0;
 }
 
 static COMMAND(irc_command_umode) {
+char * rnick;
 irc_private_t*j = irc_private(session);
 
 if (!(*params)) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1688,7 +1730,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_umode) {
 return -1;
 }
 
+rnick = irc_convert_out(j, NULL, j-&amp;gt;nick);
 ekg_connection_write(j-&amp;gt;send_stream, "MODE %s %s\r\n", j-&amp;gt;nick, *params);
+xfree(rnick);
 
 return 0;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1740,7 +1784,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static QUERY(irc_status_show_handle) {
 static COMMAND(irc_command_query) {
 irc_private_t*j = irc_private(session);
 window_t*w;
-char**mp, *tar, **p = xcalloc(3, sizeof(char*)), *tmp;
+char**mp, *tar, **p = xcalloc(3, sizeof(char*)), *tmp, *rtar;
 inti;
 
 for (i = 0; i&amp;lt;2 &amp;amp;&amp;amp; params[i]; i++)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1765,11 +1809,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_query) {
 
 w = window_find_s(session, tar);
 
+rtar = irc_convert_out(j, NULL, tar+4);
 if (!w) {
 w = window_new(tar, session, 0);
-if (session_int_get(session, "auto_lusers_sync") &amp;gt; 0)
-ekg_connection_write(j-&amp;gt;send_stream, "USERHOST %s\r\n", tar+4);
+if (session_int_get(session, "auto_lusers_sync") &amp;gt; 0) 
+ekg_connection_write(j-&amp;gt;send_stream, "USERHOST %s\r\n", rtar);
 }
+xfree(rtar);
 
 window_switch(w-&amp;gt;id);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1805,7 +1851,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_jopacy) {
 } else
 return 0;
 
-ekg_connection_write(j-&amp;gt;send_stream, "%s", str);
+char * rstr = irc_convert_out(j, NULL, str);
+ekg_connection_write(j-&amp;gt;send_stream, "%s", rstr);
+xfree(rstr);
 
 g_strfreev(mp);
 xfree(tar);
&lt;/pre&gt;</description>
    <dc:creator>Alexander V Vershilov</dc:creator>
    <dc:date>2011-04-20T08:47:58</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1538">
    <title>some patches for irc</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1538</link>
    <description>&lt;pre&gt;Hello.


I've found out that irc commands doesn't work fine for non utf servers 
because parts of commands such as nicknames or statuses doesn't recoded
properly. So I've made some fixes for commands that I used (patches in
attachement files). But it seems for me that it was better to make irc
wrapper over ekg_connection write, and recode outgoing string there.


Thanks for ekg2 project.

--
Alexander V Vershilov
From 43ed0d1f511f748c8af3fccbad6dcaab6bca3b50 Mon Sep 17 00:00:00 2001
From: Alexander Vershilov &amp;lt;alexander.vershilov&amp;lt; at &amp;gt;gmail.com&amp;gt;
Date: Tue, 19 Apr 2011 07:14:03 +0000
Subject: [PATCH] irc charset recode on nick command

---
 plugins/irc/irc.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/plugins/irc/irc.c b/plugins/irc/irc.c
index 58ebf6e..938e606 100644
--- a/plugins/irc/irc.c
+++ b/plugins/irc/irc.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1812,7 +1812,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static COMMAND(irc_command_nick) {
 
 /* GiM: XXX FIXME TODO think more about session-&amp;gt;connecting... */
 if (session-&amp;gt;connecting || session_connected_get(session)) {
-ekg_connection_write(j-&amp;gt;send_stream, "NICK %s\r\n", params[0]);
+char * tmp = irc_convert_out(j, NULL, params[0]);
+ekg_connection_write(j-&amp;gt;send_stream, "NICK %s\r\n", tmp);
+xfree(tmp);
 /* this is needed, couse, when connecting and server will
  * respond, nickname is already in use, and user
  * will type /nick somethin', server doesn't send respond
&lt;/pre&gt;</description>
    <dc:creator>Alexander V Vershilov</dc:creator>
    <dc:date>2011-04-19T17:52:28</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1536">
    <title>Poprzekładanie plików z ~/.ekg2</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1536</link>
    <description>&lt;pre&gt;Zaczęliśmy już przekładać konfigi, to wypadałoby pomyśleć, gdzie
poprzerzucać resztę. Moja propozycja wygląda następująco:

1) XDG_CONFIG_HOME (.config) dla zwyczajnej konfiguracji,
2) [katalog tymczasowy]/ekg2-[pid] dla crashy (zamiast
zaśmiecania .config),
3) XDG_DATA_HOME dla themesów i im podobnych,
4) ??? dla logów (też config?),
5) ??? dla kolejki wiadomości wychodzących (config? cache?).

&lt;/pre&gt;</description>
    <dc:creator>Michał Górny</dc:creator>
    <dc:date>2011-04-13T08:14:40</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1531">
    <title>Ekg2 nie zapisuje konfiguracji</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1531</link>
    <description>&lt;pre&gt;Witam.

Zauważyłem pewien błąd występujący na nowo założonym koncie uniksowym
lub na takim, gdzie Ekg2 nie było jeszcze używane. Mianowicie program
nie zapisuje ustawień.
Po uruchomieniu ekg2 dodaję sesję, ustawiam hasło, sesja łączy się. Nie
ma znaczenia czy wydam polecenie 'save' czy po prostu odpowiem
twierdząco na pytanie o zapis konfiguracji przy wyjściu, nie ma ani
katalogu ~/.ekg2 (co jest logiczne, po zmianie domyślnego katalogu z
konfiguracją) ani ~/.config/ekg2

Na swoim koncie, gdzie używam Ekg2 od dawna, migracja na nową wersję
była praktycznie bezbolesna (program odczytał konfigurację z ~/.ekg2 i
zapisał nową do ~/.config/ekg2)

Testowane na wersji git pobranej 11 kwietnia ok. godziny 1:30

Pozdrawiam
Radek Ryza
radek&amp;lt; at &amp;gt;2-0.pl

&lt;/pre&gt;</description>
    <dc:creator>Radek Ryza</dc:creator>
    <dc:date>2011-04-11T11:18:46</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1528">
    <title>ekg2 a standard C (funkcje zagniezdzone)</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1528</link>
    <description>&lt;pre&gt;Witam,

Znany mi standard języka C [1] nie obsługuje zagniezdzonych funkcji,
a wsparcie dla nich w GCC jest tylko rozszerzeniem [2].

Próba kompilacji ekg2 przy użyciu clang generuje blad:

ekg/connections.c:94:76: error: expected ';' at end of declaration 
gint conn_find_outstream(gconstpointer list_elem, gconstpointer comp_elem) {
                                                                          ^
                                                                      ;

Jeśli kompilacja jest możliwa tylko przy użyciu GCC warto by to
zaznaczyć na stronie.

[1] http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf
[2] http://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html

&lt;/pre&gt;</description>
    <dc:creator>Jakub Zawadzki</dc:creator>
    <dc:date>2011-04-07T08:21:36</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1525">
    <title>Błąd w EKG2</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1525</link>
    <description>&lt;pre&gt;Hej,
Dzisiaj zauważyłem dziwny błąd w EKG2, program nie chce się łączyć z siecią
gg.
Logi które wypluwa:
3:40:45 // gg_send_packet() partial write(), 1313 sent, 0 left, 0 total left
23:40:45 ** gg_change_status(0x24937f0, 20);
23:40:45 ** gg_send_packet(0x24937f0, 0x38, ...);
23:40:45 // gg_send_packet(0x38) 38 00 00 00 0c 00 00 00 14 00 00 00 01 00
80 00 00 00 00 00
23:40:45 // gg_send_packet() partial write(), 20 sent, 0 left, 0 total left
23:40:45 ** gg_event_free(0x2523440);
23:40:45 ** gg_watch_fd(0x24937f0);
23:40:45 // gg_watch_fd() GG_STATE_CONNECTED
23:40:45 ** gg_watch_fd_connected(0x24937f0, 0x2523440);
23:40:45 ** gg_recv_packet(0x24937f0);
23:40:45 // gg_recv_packet() header recv(9,0x7fff77bd3730,8) = 0
23:40:45 // gg_recv_packet() header recv() failed: connection broken
23:40:45 // gg_watch_fd_connected() gg_recv_packet failed (errno=104,
Połączenie zerwane przez drugą stronę)
23:40:45 // gg_watch_fd() watch_fd_connected failed (errno=104, Połączenie
zerwane przez drugą stronę)
23:40:45 watch_free() REMOVED WATCH, watches removed this loop: 1 oldwatch:
0x2280a80
23:40:45 ekg_loop() Removed 1 watches this loop, let's cleanup calling:
list_cleanup() ...

Następuje ciągle następuje rozłączenia i ponowne łączenie.
Wersja ekg2 to 0.3.0 i 0.3.1 ten sam błąd. Wersja libgadu to 1.9.rc2 i i
1.9.2 (ta z repozytorium Ubuntu i ta najnowsza)

Da radę coś z tym zrobić ?
&lt;/pre&gt;</description>
    <dc:creator>Borzucki</dc:creator>
    <dc:date>2011-03-20T22:51:07</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1524">
    <title>ekg2 0.3.1</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1524</link>
    <description>&lt;pre&gt;Witam,

Przygotowaliśmy wydanie ekg2-0.3.1.

Brak zmian w stosunku do 0.3.1-rc1.

Link do tarballa:
http://pl.ekg2.org/ekg2-0.3.1.tar.gz

&lt;/pre&gt;</description>
    <dc:creator>Marcin Owsiany</dc:creator>
    <dc:date>2011-03-18T21:43:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1520">
    <title>Problem na BSD</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1520</link>
    <description>&lt;pre&gt;
Problem rozwiązany, winowajcą jest opcja "dm" do screen'a. Gdy jest samo "-S" kolory działają i wszystko śmiga.


pozdrawiam

Daniel (dmilith) Dettlaff
&lt;/pre&gt;</description>
    <dc:creator>Daniel Dettlaff</dc:creator>
    <dc:date>2011-03-12T20:41:33</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1519">
    <title>Problem na BSD</title>
    <link>http://comments.gmane.org/gmane.network.jabber.ekg2.devel/1519</link>
    <description>&lt;pre&gt;
Witam,

zaktualizowałem dziś na serwerze-poligonie ncurses i obecne ekg2 przestało mi działać, więc wziąłem źródła z master'a (powiedzmy z 19:00) i przekompilowałem (autotoolsami).

Pozytywne zaskoczenie, że nie ma już problemów na BSD z kompilacją, wszystko buduje się ładnie. Jest tylko jeden mały problem - zniknęły mi kolory curses. Mam tylko czerń i biel. (dodam, że odznaczyłem w konfiguracji ncurses obsługę 256 kolorów [for ncursesw only])

Jakiś pomysł na to by życie znów stało się kolorowe? ;}


pozdrawiam
Daniel (dmilith) Dettlaff



&lt;/pre&gt;</description>
    <dc:creator>Daniel Dettlaff</dc:creator>
    <dc:date>2011-03-12T18:33:12</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.network.jabber.ekg2.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.network.jabber.ekg2.devel</link>
  </textinput>
</rdf:RDF>

