Add warning flags to fc-cache build. Clean up warnings in fc-cache.

Looks like the last directory in the project which didn't use $(WARN_CFLAGS)
for some reason. Adding that found the usual collection of char * vs FcChar8
* issues (why, oh why is FcChar8 not just char...)
diff --git a/fc-cache/Makefile.am b/fc-cache/Makefile.am
index 4bb767b..26ca40d 100644
--- a/fc-cache/Makefile.am
+++ b/fc-cache/Makefile.am
@@ -33,7 +33,7 @@
 uninstall-local:
 	-$(RM) -rf "$(DESTDIR)$(fc_cachedir)"
 
-INCLUDES=-I${top_srcdir} -I${top_srcdir}/src $(FREETYPE_CFLAGS)
+INCLUDES=-I${top_srcdir} -I${top_srcdir}/src $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
 
 bin_PROGRAMS=fc-cache
 
diff --git a/fc-cache/fc-cache.c b/fc-cache/fc-cache.c
index de29351..bda8b14 100644
--- a/fc-cache/fc-cache.c
+++ b/fc-cache/fc-cache.c
@@ -113,21 +113,6 @@
 static FcStrSet *processed_dirs;
 
 static int
-nsubdirs (FcStrSet *set)
-{
-    FcStrList	*list;
-    int		n = 0;
-
-    list = FcStrListCreate (set);
-    if (!list)
-	return 0;
-    while (FcStrListNext (list))
-	n++;
-    FcStrListDone (list);
-    return n;
-}
-
-static int
 scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force, FcBool verbose)
 {
     int		    ret = 0;
@@ -275,14 +260,14 @@
 {
     DIR		*d;
     struct dirent *ent;
-    char	*dir_base;
+    FcChar8	*dir_base;
     FcBool	ret = FcTrue;
     FcBool	remove;
     FcCache	*cache;
     struct stat	file_stat;
     struct stat	target_stat;
 
-    dir_base = FcStrPlus (dir, "/");
+    dir_base = FcStrPlus (dir, (FcChar8 *) "/");
     if (!dir_base)
     {
 	fprintf (stderr, "%s: out of memory\n", dir);
@@ -297,10 +282,10 @@
     }
     if (verbose)
 	printf ("%s: cleaning cache directory\n", dir);
-    d = opendir (dir);
+    d = opendir ((char *) dir);
     if (!d)
     {
-	perror (dir);
+	perror ((char *) dir);
 	FcStrFree (dir_base);
 	return FcFalse;
     }
@@ -311,7 +296,7 @@
 
 	if (ent->d_name[0] == '.')
 	    continue;
-	file_name = FcStrPlus (dir_base, ent->d_name);
+	file_name = FcStrPlus (dir_base, (FcChar8 *) ent->d_name);
 	if (!file_name)
 	{
 	    fprintf (stderr, "%s: allocation failure\n", dir);
@@ -328,7 +313,7 @@
 	}
 	target_dir = FcCacheDir (cache);
 	remove = FcFalse;
-	if (stat (target_dir, &target_stat) < 0)
+	if (stat ((char *) target_dir, &target_stat) < 0)
 	{
 	    if (verbose)
 		printf ("%s: %s: missing directory: %s \n",
@@ -344,9 +329,9 @@
 	}
 	if (remove)
 	{
-	    if (unlink (file_name) < 0)
+	    if (unlink ((char *) file_name) < 0)
 	    {
-		perror (file_name);
+		perror ((char *) file_name);
 		ret = FcFalse;
 	    }
 	}