kwo pushed a commit to branch master.

commit 2a95307f44839bd7d06a21ce901655b2924c1850
Author: Kim Woelders <[email protected]>
Date:   Sun Jul 7 23:01:22 2013 +0200

    Eliminate BordersForeach().
    
    Also let BordersGetList() do alphabetic sorting.
---
 src/borders.c    | 16 ++++++++++++----
 src/borders.h    |  4 +---
 src/ipc.c        | 14 +++++++-------
 src/menus-misc.c | 11 -----------
 4 files changed, 20 insertions(+), 25 deletions(-)

diff --git a/src/borders.c b/src/borders.c
index c362d3c..ce787ba 100644
--- a/src/borders.c
+++ b/src/borders.c
@@ -1348,16 +1348,24 @@ BorderCreateFiller(int w, int h, int sw, int sh)
    return b;
 }
 
-void
-BordersForeach(void (*func) (Border * b, void *data), void *data)
+static int
+_BorderNameCompare(const void *b1, const void *b2)
 {
-   ecore_list_for_each(border_list, (Ecore_For_Each) func, data);
+   if (b1 && b2)
+      return strcmp((*(const Border **)b1)->name, (*(const Border 
**)b2)->name);
+
+   return 0;
 }
 
 Border            **
 BordersGetList(int *pnum)
 {
-   return (Border **) ecore_list_items_get(border_list, pnum);
+   Border            **lst;
+
+   lst = (Border **) ecore_list_items_get(border_list, pnum);
+   qsort(lst, *pnum, sizeof(Border *), _BorderNameCompare);
+
+   return lst;
 }
 
 static ActionClass *
diff --git a/src/borders.h b/src/borders.h
index bdf3ad7..1f5100c 100644
--- a/src/borders.h
+++ b/src/borders.h
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2000-2007 Carsten Haitzler, Geoff Harrison and various 
contributors
- * Copyright (C) 2004-2010 Kim Woelders
+ * Copyright (C) 2004-2013 Kim Woelders
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to
@@ -97,8 +97,6 @@ void                EwinBorderSetInitially(EWin * ewin, const 
char *name);
 int                 BorderWinpartIndex(EWin * ewin, Win win);
 void                BorderCheckState(EWin * ewin, XEvent * ev);
 Border             *BorderCreateFiller(int w, int h, int sw, int sh);
-void                BordersForeach(void (*func) (Border * b, void *data),
-                                  void *data);
 Border            **BordersGetList(int *pnum);
 
 #endif /* _BORDERS_H_ */
diff --git a/src/ipc.c b/src/ipc.c
index 0a08353..5d2be04 100644
--- a/src/ipc.c
+++ b/src/ipc.c
@@ -168,12 +168,6 @@ IPC_Nop(const char *params __UNUSED__)
 
 /* Should be elsewhere */
 static void
-IPC_Border_CB_List(Border * b, void *data __UNUSED__)
-{
-   IpcPrintf("%s\n", BorderGetName(b));
-}
-
-static void
 IPC_Border(const char *params)
 {
    if (!params)
@@ -184,7 +178,13 @@ IPC_Border(const char *params)
 
    if (!strncmp(params, "list", 2))
      {
-       BordersForeach(IPC_Border_CB_List, NULL);
+       Border            **lst;
+       int                 i, num;
+
+       lst = BordersGetList(&num);
+       for (i = 0; i < num; i++)
+          IpcPrintf("%s\n", BorderGetName(lst[i]));
+       Efree(lst);
      }
 }
 
diff --git a/src/menus-misc.c b/src/menus-misc.c
index 9c515d2..a304fae 100644
--- a/src/menus-misc.c
+++ b/src/menus-misc.c
@@ -459,16 +459,6 @@ MenuCreateFromThemes(const char *name, MenuStyle * ms)
    return m;
 }
 
-static int
-BorderNameCompare(const void *b1, const void *b2)
-{
-   if (b1 && b2)
-      return strcmp(BorderGetName(*(const Border **)b1),
-                   BorderGetName(*(const Border **)b2));
-
-   return 0;
-}
-
 static Menu        *
 MenuCreateFromBorders(const char *name, MenuStyle * ms)
 {
@@ -485,7 +475,6 @@ MenuCreateFromBorders(const char *name, MenuStyle * ms)
    if (!lst)
       return m;
 
-   qsort(lst, num, sizeof(Border *), BorderNameCompare);
    for (i = 0; i < num; i++)
      {
        /* if its not internal (ie doesnt start with _ ) */

-- 

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev

Reply via email to