<p><b>@b4n</b> commented on this pull request.</p>

<hr>

<p>In <a href="https://github.com/geany/geany/pull/1445#discussion_r234339768">src/utils.c</a>:</p>
<pre style='color:#555'>> +
+       /* The return value shall have exactly the same size as the input. If the input is a
+        * GStrv (last element is NULL), the output will follow suit. */
+       if (!num)
+               num = g_strv_length(file_names);
+       /* Always include a terminating NULL, enables easy freeing with g_strfreev() */
+       names = g_new0(gchar *, num + 1);
+
+       prefix = utils_strv_find_common_prefix(file_names, num);
+       /* First: determine the common prefix, that will be stripped.
+        * Don't strip single-letter prefixes, such as '/' */
+       prefix_len = 0;
+       if (NZV(prefix) && prefix[1])
+       {
+               /* Only strip directory components, include trailing '/' */
+               start = strrchr(prefix, G_DIR_SEPARATOR);
</pre>
<blockquote>
<p>e.g. a file can contain the \ character on linux</p>
</blockquote>
<p>Yes, handling of <code>\</code> has to be special-cased for Windows</p>
<blockquote>
<p>not sure if the same is true for / on Windows</p>
</blockquote>
<p>I don't think so, IIUC both <code>\</code> and <code>/</code> are separators.  One simple non-optimized way to match it can be <code>"/" G_DIR_SEPARATOR_S</code> (e.g. preprocessor concatenation of either <code>"//"</code> or <code>"/\"</code>) together with things like <code>strpbrk()</code>.</p>
<blockquote>
<p>Are you sure we don't have problems with this elsewhere inside Geany? I.e. is this something we support or not?</p>
</blockquote>
<p>I'm not entirely sure, but I think so.  However, we're probably normalizing the path at some point, which means we might not encounter the issue with paths we handle anyway.<br>
So this might not be so important in the end.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/pull/1445#discussion_r234339768">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ8Yj-tUxhh2wCSV311KRz6ihXMISks5uvyF6gaJpZM4MnYrc">mute the thread</a>.<img src="https://github.com/notifications/beacon/ABDrJwQuddQr7uks15PzXUJezQhpl7CIks5uvyF6gaJpZM4MnYrc.gif" height="1" width="1" alt="" /></p>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"PERSON","message":"@b4n commented on #1445"}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1445#discussion_r234339768"}}}</script>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/geany/geany/pull/1445#discussion_r234339768",
"url": "https://github.com/geany/geany/pull/1445#discussion_r234339768",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
},
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "@b4n commented on 1445",
"sections": [
{
"text": "",
"activityTitle": "**Colomban Wendling**",
"activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png",
"activitySubtitle": "@b4n",
"facts": [

]
}
],
"potentialAction": [
{
"targets": [
{
"os": "default",
"uri": "https://github.com/geany/geany/pull/1445#discussion_r234339768"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 211651292\n}"
}
],
"themeColor": "26292E"
}
]</script>