index() is a legacy function, not implemented in some uClibc
configurations.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 libmb/mbexp.c  |    2 +-
 libmb/mbmenu.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Index: libmatchbox-1.9/libmb/mbexp.c
===================================================================
--- libmatchbox-1.9.orig/libmb/mbexp.c
+++ libmatchbox-1.9/libmb/mbexp.c
@@ -492,7 +492,7 @@
 
   /* get the family */
 
-  if (index(spec, ',') != NULL || index(spec, '-') != NULL) 
+  if (strchr(spec, ',') != NULL || strchr(spec, '-') != NULL) 
     has_comma_delim = True;
 
   while (!got_family) {
Index: libmatchbox-1.9/libmb/mbmenu.c
===================================================================
--- libmatchbox-1.9.orig/libmb/mbmenu.c
+++ libmatchbox-1.9/libmb/mbmenu.c
@@ -433,7 +433,7 @@
    {
       s = p;
       found   = NULL;
-      while(index("/\0", *p) == NULL) p++;
+      while(strchr("/\0", *p) == NULL) p++;
       if (*p != '\0') { *p = '\0'; p++; };
 
       item = current->items;
