diff PubdicPlus/pod.c @ 25:466fe6732d8d

- fixed more NULL pointer related errata - suppress warnings
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Sat, 06 Mar 2010 04:37:31 +0900
parents bbc77ca4def5
children a7ccf412ba02
line wrap: on
line diff
--- a/PubdicPlus/pod.c	Fri Mar 05 20:46:36 2010 +0900
+++ b/PubdicPlus/pod.c	Sat Mar 06 04:37:31 2010 +0900
@@ -154,7 +154,7 @@
 static void store_description (void);
 static long internkind (Wchar *s);
 static void listkinds (void);
-static int kindcompar (struct kindpack *k1, struct kindpack *k2);
+static int kindcompar (const void *p1, const void *p2);
 static void sortkind (void);
 static struct dicpack *intern (int key, Wchar *yomi, Wchar *kouho, Wchar *hinshi, int hindo, long kind, int *stat, long flags);
 static void storepd (FILE *file);
@@ -163,8 +163,8 @@
 static void entry_out (FILE *cf, struct dicpack *p, Wchar *h, int n, Wchar *ex);
 static void printentry (FILE *cf, struct dicpack *p);
 static void showentry (struct dicpack **pd, int n);
-static int diccompar (struct dicpack **p1, struct dicpack **p2);
-static int dichindocompar (struct dicpack **p1, struct dicpack **p2);
+static int diccompar (const void *pp1, const void *pp2);
+static int dichindocompar (const void *pp1, const void *pp2);
 void shrinkargs (char **argv, int n, int count);
 static void parseargs (int argc, char *argv[]);
 #endif
@@ -822,9 +822,12 @@
 }
 
 static int
-kindcompar (k1, k2)
-     struct kindpack *k1, *k2;
+kindcompar (const void *p1, const void *p2)
 {
+  struct kindpack *k1, *k2;
+  k1 = (struct kindpack *)p1;
+  k2 = (struct kindpack *)p2;
+
   return Wscmp (k1->kind, k2->kind);
 }
 
@@ -1364,9 +1367,12 @@
 }
 
 static int
-diccompar (p1, p2)
-     struct dicpack **p1, **p2;
+diccompar (const void *pp1, const void *pp2)
 {
+  struct dicpack **p1, **p2;
+  p1 = (struct dicpack **)pp1;
+  p2 = (struct dicpack **)pp2;
+
   int n;
   if (n = Wscmp ((*p1)->yomi, (*p2)->yomi))
     {
@@ -1387,9 +1393,12 @@
 }
 
 static int
-dichindocompar (p1, p2)
-     struct dicpack **p1, **p2;
+dichindocompar (const void *pp1, const void *pp2)
 {
+  struct dicpack **p1, **p2;
+  p1 = (struct dicpack **)pp1;
+  p2 = (struct dicpack **)pp2;
+
   int n;
   if (n = Wscmp ((*p1)->yomi, (*p2)->yomi))
     {