<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">In vd_agent/file_xfer.cpp, it implemented a simple g_key_get_string,</div>

<div class="gmail_default" style="font-family:arial,helvetica,sans-serif">but  when dragging a file with a name containing '[' (like te[st.txt), it will be failed.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">

>From source code,</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><div class="gmail_default">>next_group_pos = strstr(group_pos + strlen(group_pfx), "[");</div><div class="gmail_default">

>    if (next_group_pos && key_pos > next_group_pos) return false;</div><div class="gmail_default">we know that it tries to find the end of current group by '[' label, </div><div class="gmail_default">

if we drag a file like te[st.txt, the key_string many like:</div><div class="gmail_default"><div class="gmail_default">[vdagent-file-xfer]</div><div class="gmail_default">name=te[st.txt</div><div class="gmail_default">size=10</div>

</div></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">so, it's failed when meta parsing and returns VD_AGENT_FILE_XFER_STATUS_ERRO message.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">

<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Here's the elegant method Christophe proposed and test ok, thanks for him again!</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">

<br></div></div><div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">​<div class="gmail_default" style="display:inline">​</div><span style="font-family:arial;color:rgb(34,34,34)">---</span></div>

 vdagent/file_xfer.cpp | 2 +-<br> 1 file changed, 1 insertion(+), 1 deletion(-)<br><br>diff --git a/vdagent/file_xfer.cpp b/vdagent/file_xfer.cpp<br>index 1108369..cec5579 100644<br>--- a/vdagent/file_xfer.cpp<br>+++ b/vdagent/file_xfer.cpp<br>

@@ -205,7 +205,7 @@ bool FileXfer::g_key_get_string(char* data, const char* group, const char* key,<br>     snprintf(key_pfx, sizeof(key_pfx), "\n%s=", key);<br>     if (!(key_pos = strstr(group_pos, key_pfx))) return false;<br>

<br>-    next_group_pos = strstr(group_pos + strlen(group_pfx), "[");<br>+    next_group_pos = strstr(group_pos + strlen(group_pfx), "\n[");<br>     if (next_group_pos && key_pos > next_group_pos) return false;<br>

<br>     start = key_pos + strlen(key_pfx);<br><span class=""><font color="#888888">--<br></font></span><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><span style="color:rgb(136,136,136);font-family:arial">1.9.3</span>​</div>

<br></div>-- <br><div dir="ltr"><font color="#cfe2f3">Q</font><font color="#9fc5e8">S</font><font color="#6fa8dc">B</font><font color="#3d85c6">D</font><font color="#0b5394">T</font><font color="#073763">0</font><font color="#0c343d">R</font><font color="#134f5c">F</font><font color="#45818e">U</font><font color="#76a5af">i</font><font color="#a2c4c9">B</font><font color="#d0e0e3">G</font><font color="#d9ead3">U</font><font color="#b6d7a8">k</font><font color="#93c47d">9</font><font color="#6aa84f">N</font><font color="#38761d">I</font><font color="#274e13">F</font><font color="#7f6000">J</font><font color="#bf9000">J</font><font color="#f1c232">R</font><font color="#ffd966">V</font><font color="#ffe599">N</font><font color="#fff2cc">U</font><font color="#fce5cd">I</font><font color="#f9cb9c">E</font><font color="#f6b26b">9</font><font color="#e69138">G</font><font color="#b45f06">I</font><font color="#783f04">E</font><font color="#660000">N</font><font color="#990000">U</font><font color="#cc0000">U</font><font color="#e06666">0V</font><font color="#ea9999">V</font></div>


</div>