FcConfigFileExists (const FcChar8 *dir, const FcChar8 *file)
{
FcChar8 *path;
- int size;
+ int size, osize;
if (!dir)
dir = (FcChar8 *) "";
- size = strlen ((char *) dir) + 1 + strlen ((char *) file) + 1;
+ osize = strlen ((char *) dir) + 1 + strlen ((char *) file) + 1;
/*
* workaround valgrind warning because glibc takes advantage of how it knows memory is
* allocated to implement strlen by reading in groups of 4
*/
- size = (size + 3) & ~3;
+ size = (osize + 3) & ~3;
path = malloc (size);
if (!path)
#endif
strcat ((char *) path, (char *) file);
- FcMemAlloc (FC_MEM_STRING, size);
+ FcMemAlloc (FC_MEM_STRING, osize);
if (access ((char *) path, R_OK) == 0)
return path;
FcStrFree (path);
+
return 0;
}
ret = malloc (len + 7 + 1);
if (ret)
{
+ FcMemAlloc (FC_MEM_STRING, len + 7 + 1);
memcpy (ret, home, len);
memcpy (&ret[len], FC_DIR_SEPARATOR_S ".cache", 7);
ret[len + 7] = 0;
ret = malloc (len + 8 + 1);
if (ret)
{
+ FcMemAlloc (FC_MEM_STRING, len + 8 + 1);
memcpy (ret, home, len);
memcpy (&ret[len], FC_DIR_SEPARATOR_S ".config", 8);
ret[len + 8] = 0;
ret = malloc (len + 13 + 1);
if (ret)
{
+ FcMemAlloc (FC_MEM_STRING, len + 13 + 1);
memcpy (ret, home, len);
memcpy (&ret[len], FC_DIR_SEPARATOR_S ".local" FC_DIR_SEPARATOR_S "share", 13);
ret[len + 13] = 0;
break;
default:
FcConfigMessage (parse, FcSevereError, "invalid element in range");
+ n = 0;
break;
}
if (count == 1)
size_t plen = strlen ((const char *)prefix);
size_t dlen = strlen ((const char *)data);
+ FcMemFree (FC_MEM_STRING, plen + 1);
prefix = realloc (prefix, plen + 1 + dlen + 1);
if (!prefix)
{
FcConfigMessage (parse, FcSevereError, "out of memory");
goto bail;
}
+ FcMemAlloc (FC_MEM_STRING, plen + 1 + dlen + 1);
prefix[plen] = FC_DIR_SEPARATOR;
memcpy (&prefix[plen + 1], data, dlen);
prefix[plen + 1 + dlen] = 0;
bail:
if (prefix)
- free (prefix);
+ FcStrFree (prefix);
}
static void
size_t plen = strlen ((const char *)prefix);
size_t dlen = strlen ((const char *)data);
+ FcMemFree (FC_MEM_STRING, plen + 1);
prefix = realloc (prefix, plen + 1 + dlen + 1);
if (!prefix)
{
FcConfigMessage (parse, FcSevereError, "out of memory");
goto bail;
}
+ FcMemAlloc (FC_MEM_STRING, plen + 1 + dlen + 1);
prefix[plen] = FC_DIR_SEPARATOR;
memcpy (&prefix[plen + 1], data, dlen);
prefix[plen + 1 + dlen] = 0;
size_t plen = strlen ((const char *)prefix);
size_t dlen = strlen ((const char *)s);
+ FcMemFree (FC_MEM_STRING, plen + 1);
prefix = realloc (prefix, plen + 1 + dlen + 1);
if (!prefix)
{
FcConfigMessage (parse, FcSevereError, "out of memory");
goto bail;
}
+ FcMemAlloc (FC_MEM_STRING, plen + 1 + dlen + 1);
prefix[plen] = FC_DIR_SEPARATOR;
memcpy (&prefix[plen + 1], s, dlen);
prefix[plen + 1 + dlen] = 0;
bail:
if (prefix)
- free (prefix);
+ FcStrFree (prefix);
}
typedef struct _FcOpMap {