diff options
Diffstat (limited to 'libXfont/src/fontfile/catalogue.c')
-rw-r--r-- | libXfont/src/fontfile/catalogue.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/libXfont/src/fontfile/catalogue.c b/libXfont/src/fontfile/catalogue.c index 623093011..81a1e13f1 100644 --- a/libXfont/src/fontfile/catalogue.c +++ b/libXfont/src/fontfile/catalogue.c @@ -40,7 +40,7 @@ static const char CataloguePrefix[] = "catalogue:"; static int CatalogueFreeFPE (FontPathElementPtr fpe); static int -CatalogueNameCheck (char *name) +CatalogueNameCheck (const char *name) { return strncmp(name, CataloguePrefix, sizeof(CataloguePrefix) - 1) == 0; } @@ -116,7 +116,7 @@ CatalogueUnrefFPEs (FontPathElementPtr fpe) if (subfpe->refcount == 0) { FontFileFreeFPE (subfpe); - free(subfpe->name); + free((void *) subfpe->name); free(subfpe); } } @@ -158,6 +158,7 @@ CatalogueRescan (FontPathElementPtr fpe, Bool forceScan) CatalogueUnrefFPEs (fpe); while (entry = readdir(dir), entry != NULL) { + char *name; snprintf(link, sizeof link, "%s/%s", path, entry->d_name); len = readlink(link, dest, sizeof dest - 1); if (len < 0) @@ -191,15 +192,16 @@ CatalogueRescan (FontPathElementPtr fpe, Bool forceScan) * (which uses font->fpe->type) goes to CatalogueCloseFont. */ subfpe->type = fpe->type; subfpe->name_length = len; - subfpe->name = malloc (len + 1); - if (subfpe->name == NULL) + name = malloc (len + 1); + if (name == NULL) { free(subfpe); continue; } - memcpy(subfpe->name, dest, len); - subfpe->name[len] = '\0'; + memcpy(name, dest, len); + name[len] = '\0'; + subfpe->name = name; /* The X server will manipulate the subfpe ref counts * associated with the font in OpenFont and CloseFont, so we @@ -208,7 +210,7 @@ CatalogueRescan (FontPathElementPtr fpe, Bool forceScan) if (FontFileInitFPE (subfpe) != Successful) { - free(subfpe->name); + free((void *) subfpe->name); free(subfpe); continue; } @@ -280,7 +282,7 @@ CatalogueFreeFPE (FontPathElementPtr fpe) static int CatalogueOpenFont (pointer client, FontPathElementPtr fpe, Mask flags, - char *name, int namelen, + const char *name, int namelen, fsBitmapFormat format, fsBitmapFormatMask fmask, XID id, FontPtr *pFont, char **aliasName, FontPtr non_cachable_font) @@ -314,7 +316,7 @@ CatalogueCloseFont (FontPathElementPtr fpe, FontPtr pFont) } static int -CatalogueListFonts (pointer client, FontPathElementPtr fpe, char *pat, +CatalogueListFonts (pointer client, FontPathElementPtr fpe, const char *pat, int len, int max, FontNamesPtr names) { CataloguePtr cat = fpe->private; @@ -339,7 +341,7 @@ typedef struct _LFWIData { static int CatalogueStartListFonts(pointer client, FontPathElementPtr fpe, - char *pat, int len, int max, pointer *privatep, + const char *pat, int len, int max, pointer *privatep, int mark_aliases) { CataloguePtr cat = fpe->private; @@ -375,7 +377,7 @@ CatalogueStartListFonts(pointer client, FontPathElementPtr fpe, static int CatalogueStartListFontsWithInfo(pointer client, FontPathElementPtr fpe, - char *pat, int len, int max, + const char *pat, int len, int max, pointer *privatep) { return CatalogueStartListFonts(client, fpe, pat, len, max, privatep, 0); @@ -413,7 +415,7 @@ CatalogueListNextFontWithInfo(pointer client, FontPathElementPtr fpe, static int CatalogueStartListFontsAndAliases(pointer client, FontPathElementPtr fpe, - char *pat, int len, int max, + const char *pat, int len, int max, pointer *privatep) { return CatalogueStartListFonts(client, fpe, pat, len, max, privatep, 1); |