<p>In <a href="https://github.com/geany/geany-plugins/pull/324#discussion_r49821270">lineoperations/src/linefunctions.c</a>:</p>
<pre style='color:#555'>> +    newfile       = g_malloc(sizeof(gchar) * (totalnumchars+1));
> +  numlines      = 0;
> +  nfposn        = 0;
> +  k             = 0;
> +
> +  if(newfile && lines)    // verify memory allocation
> +  {
> +          // copy *all* lines into **lines array
> +          for(i = 0; i < totalnumlines; i++)
> +                  lines[numlines++] = sci_get_line(doc->editor->sci, i);
> +
> +          qsort(lines, numlines, sizeof(gchar *), compareasc);
> +
> +          if(numlines > 0)     // copy the first line into *newfile
> +                  for(j = 0; lines[0][j] != '\0'; j++)
> +                          newfile[nfposn++] = lines[0][j];
</pre>
<p>I have <code>g_strjoinv()</code> in <code>sortlines()</code>, but any other operation require some sort of filtering (e.g. remove duplicate sorted fns, sorts lines then takes first occurrences)</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href="https://github.com/geany/geany-plugins/pull/324/files#r49821270">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJyo6-VQv_QUxRlq5hs7tAgaXTvLEks5paHVLgaJpZM4HBhj7.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany-plugins/pull/324/files#r49821270"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>