]> git.wh0rd.org - fontconfig.git/blobdiff - fc-glyphname/fc-glyphname.c
rehash increment could be zero, causing rehash infinite loop.
[fontconfig.git] / fc-glyphname / fc-glyphname.c
index 31dff12ef4c0927128fd5d642586b3befdd563bb..d4d0b990155808f327da73cb578c85c62c29959b 100644 (file)
 
 #include "fcint.h"
 
-/* stub definitions for declarations from fcint.h.. */
-int * _fcBankId = 0, * _fcBankIdx = 0;
-
-int
-FcCacheBankToIndexMTF (int bank)
-{
-    return 0;
-}
-/* end stub definitions */
-
 static int
 rawindex (const FcGlyphName *gn);
 
@@ -83,12 +73,12 @@ fatal (const char *file, int lineno, const char *msg)
 #define MAX_GLYPHNAME      10240
 #define MAX_NAMELEN        1024
 
-FcGlyphName *raw[MAX_GLYPHNAME];
-int        nraw;
-int        max_name_len;
-FcGlyphName *name_to_ucs[MAX_GLYPHNAME*2];
-FcGlyphName *ucs_to_name[MAX_GLYPHNAME*2];
-int        hash, rehash;
+static FcGlyphName *raw[MAX_GLYPHNAME];
+static int         nraw;
+static int         max_name_len;
+static FcGlyphName *name_to_ucs[MAX_GLYPHNAME*2];
+static FcGlyphName *ucs_to_name[MAX_GLYPHNAME*2];
+static unsigned int hash, rehash;
 
 static int
 rawindex (const FcGlyphName *gn)
@@ -216,7 +206,7 @@ insert (FcGlyphName *gn, FcGlyphName **table, FcChar32 h)
     i = (int) (h % hash);
     while (table[i])
     {
-       if (!r) r = (int) (h % rehash);
+       if (!r) r = (int) (h % rehash + 1);
        i += r;
        if (i >= hash)
            i -= hash;