summaryrefslogtreecommitdiff
path: root/desktop/gmrun/patches/60-fix_gtkcompletionline.patch
blob: 7ce7dd33b212f04c11c8a10718925df8191050e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Description: Fixes FTBFS
# Author: Rafael Cunha de Almeida <rafael@kontesti.me>

Index: gmrun-0.9.2/src/gtkcompletionline.cc
===================================================================
--- gmrun-0.9.2.orig/src/gtkcompletionline.cc	2010-03-07 14:53:19.000000000 +0000
+++ gmrun-0.9.2/src/gtkcompletionline.cc	2010-03-07 14:53:53.000000000 +0000
@@ -374,30 +374,6 @@
   return 0;
 }
 
-int my_alphasort(const void* va, const void* vb) {
-  const struct dirent** a = (const struct dirent**)va;
-  const struct dirent** b = (const struct dirent**)vb;
-
-  const char* s1 = (*a)->d_name;
-  const char* s2 = (*b)->d_name;
-
-  int l1 = strlen(s1);
-  int l2 = strlen(s2);
-  int result = strcmp(s1, s2);
-
-  if (result == 0) return 0;
-
-  if (l1 < l2) {
-    int res2 = strncmp(s1, s2, l1);
-    if (res2 == 0) return -1;
-  } else {
-    int res2 = strncmp(s1, s2, l2);
-    if (res2 == 0) return 1;
-  }
-
-  return result;
-}
-
 static void
 generate_execs()
 {
@@ -405,7 +381,7 @@
 
   for (StrSet::iterator i = path.begin(); i != path.end(); i++) {
     struct dirent **eps;
-    int n = scandir(i->c_str(), &eps, select_executables_only, my_alphasort);
+    int n = scandir(i->c_str(), &eps, select_executables_only, alphasort);
     if (n >= 0) {
       for (int j = 0; j < n; j++) {
         execs.insert(eps[j]->d_name);
@@ -505,7 +481,7 @@
   dirlist.clear();
   struct dirent **eps;
   prefix = filename;
-  n = scandir(dest.c_str(), &eps, select_executables_only, my_alphasort);
+  n = scandir(dest.c_str(), &eps, select_executables_only, alphasort);
   if (n >= 0) {
     for (int j = 0; j < n; j++) {
       {