<div><br></div><div>this patch fix my problem :)</div><div>mb bug in </div><div>escaped = g_regex_replace(xml_encode_regexen[i], translated, -1, 0,  xml_decode_regexen_str[i], 0, NULL);</div><div>g_regex_replace forever return NULL</div>
<div>...</div><div>translated = escaped </div><div>...</div><div>and strncat(item-&gt;description, translated, XKL_MAX_CI_DESC_LENGTH - 1); try cat null poitner — translated and catch segfault :)</div><div>..</div><div>desc_element-&gt;children-&gt;content — USA</div>
<div><br></div><div>10x</div><div><br></div><div>--------------------------------------------------------------------</div><div><div>--- /home/nick/test/libxklavier-5.0/libxklavier/xklavier_config.c<span class="Apple-tab-span" style="white-space:pre">        </span>2009-06-24 15:08:38.000000000 +0400</div>
<div>+++ /home/nick/test/libxklavier-5.0_/libxklavier/xklavier_config.c<span class="Apple-tab-span" style="white-space:pre">        </span>2011-01-18 19:22:51.000000000 +0300</div><div>@@ -142,6 +142,26 @@</div><div> </div><div>
 #include &quot;libxml/parserInternals.h&quot;</div><div> </div><div>+gchar * replace(gchar *str,size_t max, gchar* from, gchar*to) {</div><div>+    gchar *output = malloc(max);</div><div>+    gchar *ptr = str;</div><div>
+    size_t len = 0;</div><div>+    for(;*str;str++) {</div><div>+<span class="Apple-tab-span" style="white-space:pre">        </span>if(len &gt;= max) {</div><div>+<span class="Apple-tab-span" style="white-space:pre">        </span>    break;</div>
<div>+<span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div>+<span class="Apple-tab-span" style="white-space:pre">        </span>if(strstr(str,from) == str) {</div><div>+<span class="Apple-tab-span" style="white-space:pre">        </span>    strncat(output,to,max-len);</div>
<div>+<span class="Apple-tab-span" style="white-space:pre">        </span>    str+=strlen(from);</div><div>+<span class="Apple-tab-span" style="white-space:pre">        </span>    len+=strlen(to);</div><div>+<span class="Apple-tab-span" style="white-space:pre">        </span>    continue;</div>
<div>+<span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div>+<span class="Apple-tab-span" style="white-space:pre">        </span>output[len++]=*str;</div><div>+    }</div><div>+    output[len++]=0;</div><div>+    return output;</div>
<div>+}</div><div>+</div><div> gboolean</div><div> xkl_read_config_item(XklConfigRegistry * config, gint doc_index,</div><div> <span class="Apple-tab-span" style="white-space:pre">                </span>     xmlNodePtr iptr, XklConfigItem * item)</div>
<div>@@ -199,14 +219,11 @@</div><div> <span class="Apple-tab-span" style="white-space:pre">                </span> * The conversion is not using libxml2, because there are no handy functions in API */</div><div> <span class="Apple-tab-span" style="white-space:pre">                </span>translated =</div>
<div> <span class="Apple-tab-span" style="white-space:pre">                </span>    g_strdup((gchar *) desc_element-&gt;children-&gt;content);</div><div>+</div><div> <span class="Apple-tab-span" style="white-space:pre">                </span>for (i =</div>
<div> <span class="Apple-tab-span" style="white-space:pre">                </span>     sizeof(xml_encode_regexen_str) /</div><div> <span class="Apple-tab-span" style="white-space:pre">                </span>     sizeof(xml_encode_regexen_str[0]); --i &gt;= 0;) {</div>
<div>-<span class="Apple-tab-span" style="white-space:pre">                        </span>escaped =</div><div>-<span class="Apple-tab-span" style="white-space:pre">                        </span>    g_regex_replace(xml_encode_regexen[i],</div><div>-<span class="Apple-tab-span" style="white-space:pre">                                        </span>    translated, -1, 0,</div>
<div>-<span class="Apple-tab-span" style="white-space:pre">                                        </span>    xml_decode_regexen_str[i], 0,</div><div>-<span class="Apple-tab-span" style="white-space:pre">                                        </span>    NULL);</div><div>+<span class="Apple-tab-span" style="white-space:pre">                        </span>escaped = replace(translated,XKL_MAX_CI_DESC_LENGTH - 1 ,xml_encode_regexen_str[i], xml_decode_regexen_str[i]);</div>
<div> <span class="Apple-tab-span" style="white-space:pre">                        </span>g_free(translated);</div><div> <span class="Apple-tab-span" style="white-space:pre">                        </span>translated = escaped;</div><div> <span class="Apple-tab-span" style="white-space:pre">                </span>}</div>
<div>@@ -221,14 +238,11 @@</div><div> <span class="Apple-tab-span" style="white-space:pre">                </span>for (i =</div><div> <span class="Apple-tab-span" style="white-space:pre">                </span>     sizeof(xml_decode_regexen_str) /</div>
<div> <span class="Apple-tab-span" style="white-space:pre">                </span>     sizeof(xml_decode_regexen_str[0]); --i &gt;= 0;) {</div><div>-<span class="Apple-tab-span" style="white-space:pre">                        </span>unescaped =</div><div>-<span class="Apple-tab-span" style="white-space:pre">                        </span>    g_regex_replace(xml_decode_regexen[i],</div>
<div>-<span class="Apple-tab-span" style="white-space:pre">                                        </span>    translated, -1, 0,</div><div>-<span class="Apple-tab-span" style="white-space:pre">                                        </span>    xml_encode_regexen_str[i], 0,</div><div>-<span class="Apple-tab-span" style="white-space:pre">                                        </span>    NULL);</div>
<div>+<span class="Apple-tab-span" style="white-space:pre">                        </span>unescaped = replace(translated, XKL_MAX_CI_DESC_LENGTH - 1, xml_decode_regexen_str[i],xml_encode_regexen_str[i]);</div><div> <span class="Apple-tab-span" style="white-space:pre">                        </span>g_free(translated);</div>
<div> <span class="Apple-tab-span" style="white-space:pre">                        </span>translated = unescaped;</div><div> <span class="Apple-tab-span" style="white-space:pre">                </span>}</div><div>+</div><div> <span class="Apple-tab-span" style="white-space:pre">                </span>strncat(item-&gt;description,</div>
<div> <span class="Apple-tab-span" style="white-space:pre">                        </span>translated, XKL_MAX_CI_DESC_LENGTH - 1);</div><div> <span class="Apple-tab-span" style="white-space:pre">                </span>g_free(translated);</div></div><div><br>
</div><div><br></div><div>--------------------------------</div><br><br><div class="gmail_quote">On Fri, Nov 5, 2010 at 11:09 PM, Debian Bug Tracking System <span dir="ltr">&lt;<a href="mailto:owner@bugs.debian.org">owner@bugs.debian.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Thank you for the additional information you have supplied regarding<br>
this Bug report.<br>
<br>
This is an automatically generated reply to let you know your message<br>
has been received.<br>
<br>
Your message is being forwarded to the package maintainers and other<br>
interested parties for their attention; they will reply in due course.<br>
<br>
Your message has been sent to the package maintainer(s):<br>
 Debian GNOME Maintainers &lt;<a href="mailto:pkg-gnome-maintainers@lists.alioth.debian.org">pkg-gnome-maintainers@lists.alioth.debian.org</a>&gt;<br>
<br>
If you wish to submit further information on this problem, please<br>
send it to <a href="mailto:602440@bugs.debian.org">602440@bugs.debian.org</a>.<br>
<br>
Please do not send mail to <a href="mailto:owner@bugs.debian.org">owner@bugs.debian.org</a> unless you wish<br>
to report a problem with the Bug-tracking system.<br>
<font color="#888888"><br>
--<br>
602440: <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=602440" target="_blank">http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=602440</a><br>
Debian Bug Tracking System<br>
Contact <a href="mailto:owner@bugs.debian.org">owner@bugs.debian.org</a> with problems<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>wbr nick.<br>