Fix a build fail on MINGW
This commit is contained in:
parent
2ec0440fb5
commit
cd280f6532
|
@ -99,12 +99,13 @@ FcAtomicCreate (const FcChar8 *file)
|
|||
FcBool
|
||||
FcAtomicLock (FcAtomic *atomic)
|
||||
{
|
||||
int fd = -1;
|
||||
FILE *f = 0;
|
||||
int ret;
|
||||
struct stat lck_stat;
|
||||
|
||||
#ifdef HAVE_LINK
|
||||
int fd = -1;
|
||||
FILE *f = 0;
|
||||
|
||||
strcpy ((char *) atomic->tmp, (char *) atomic->file);
|
||||
strcat ((char *) atomic->tmp, TMP_NAME);
|
||||
fd = mkstemp ((char *) atomic->tmp);
|
||||
|
@ -185,7 +186,7 @@ FcBool
|
|||
FcAtomicReplaceOrig (FcAtomic *atomic)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
unlink (atomic->file);
|
||||
unlink ((const char *) atomic->file);
|
||||
#endif
|
||||
if (rename ((char *) atomic->new, (char *) atomic->file) < 0)
|
||||
return FcFalse;
|
||||
|
|
18
src/fccfg.c
18
src/fccfg.c
|
@ -1672,7 +1672,7 @@ DllMain (HINSTANCE hinstDLL,
|
|||
|
||||
switch (fdwReason) {
|
||||
case DLL_PROCESS_ATTACH:
|
||||
if (!GetModuleFileName ((HMODULE) hinstDLL, fontconfig_path,
|
||||
if (!GetModuleFileName ((HMODULE) hinstDLL, (LPCH) fontconfig_path,
|
||||
sizeof (fontconfig_path)))
|
||||
break;
|
||||
|
||||
|
@ -1681,15 +1681,15 @@ DllMain (HINSTANCE hinstDLL,
|
|||
* "etc/fonts" in there as FONTCONFIG_PATH. Otherwise use the
|
||||
* folder where the DLL is as FONTCONFIG_PATH.
|
||||
*/
|
||||
p = strrchr (fontconfig_path, '\\');
|
||||
p = (FcChar8 *) strrchr ((const char *) fontconfig_path, '\\');
|
||||
if (p)
|
||||
{
|
||||
*p = '\0';
|
||||
p = strrchr (fontconfig_path, '\\');
|
||||
if (p && (FcStrCmpIgnoreCase (p + 1, "bin") == 0 ||
|
||||
FcStrCmpIgnoreCase (p + 1, "lib") == 0))
|
||||
p = (FcChar8 *) strrchr ((const char *) fontconfig_path, '\\');
|
||||
if (p && (FcStrCmpIgnoreCase (p + 1, (const FcChar8 *) "bin") == 0 ||
|
||||
FcStrCmpIgnoreCase (p + 1, (const FcChar8 *) "lib") == 0))
|
||||
*p = '\0';
|
||||
strcat (fontconfig_path, "\\etc\\fonts");
|
||||
strcat ((char *) fontconfig_path, "\\etc\\fonts");
|
||||
}
|
||||
else
|
||||
fontconfig_path[0] = '\0';
|
||||
|
@ -1804,11 +1804,11 @@ FcConfigGetPath (void)
|
|||
if (fontconfig_path[0] == '\0')
|
||||
{
|
||||
char *p;
|
||||
if(!GetModuleFileName(NULL, fontconfig_path, sizeof(fontconfig_path)))
|
||||
if(!GetModuleFileName(NULL, (LPCH) fontconfig_path, sizeof(fontconfig_path)))
|
||||
goto bail1;
|
||||
p = strrchr (fontconfig_path, '\\');
|
||||
p = strrchr ((const char *) fontconfig_path, '\\');
|
||||
if (p) *p = '\0';
|
||||
strcat (fontconfig_path, "\\fonts");
|
||||
strcat ((char *) fontconfig_path, "\\fonts");
|
||||
}
|
||||
#endif
|
||||
dir = (FcChar8 *) FONTCONFIG_PATH;
|
||||
|
|
|
@ -55,7 +55,9 @@
|
|||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
# ifndef _WIN32_WINNT
|
||||
# define _WIN32_WINNT 0x0500
|
||||
# endif
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# define STRICT
|
||||
# include <windows.h>
|
||||
|
|
16
src/fcstat.c
16
src/fcstat.c
|
@ -82,7 +82,7 @@ FcStat (const FcChar8 *file, struct stat *statb)
|
|||
char *basename;
|
||||
DWORD rc;
|
||||
|
||||
if (!GetFileAttributesEx (file, GetFileExInfoStandard, &wfad))
|
||||
if (!GetFileAttributesEx ((LPCSTR) file, GetFileExInfoStandard, &wfad))
|
||||
return -1;
|
||||
|
||||
statb->st_dev = 0;
|
||||
|
@ -91,12 +91,12 @@ FcStat (const FcChar8 *file, struct stat *statb)
|
|||
* Call GetLongPathName() to get the spelling of the path name as it
|
||||
* is on disk.
|
||||
*/
|
||||
rc = GetFullPathName (file, sizeof (full_path_name), full_path_name, &basename);
|
||||
rc = GetFullPathName ((LPCSTR) file, sizeof (full_path_name), full_path_name, &basename);
|
||||
if (rc == 0 || rc > sizeof (full_path_name))
|
||||
return -1;
|
||||
|
||||
rc = GetLongPathName (full_path_name, full_path_name, sizeof (full_path_name));
|
||||
statb->st_ino = FcStringHash (full_path_name);
|
||||
statb->st_ino = FcStringHash ((const FcChar8 *) full_path_name);
|
||||
|
||||
statb->st_mode = _S_IREAD | _S_IWRITE;
|
||||
statb->st_mode |= (statb->st_mode >> 3) | (statb->st_mode >> 6);
|
||||
|
@ -129,8 +129,6 @@ FcStat (const FcChar8 *file, struct stat *statb)
|
|||
return stat ((char *) file, statb);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* Adler-32 checksum implementation */
|
||||
struct Adler32 {
|
||||
int a;
|
||||
|
@ -238,6 +236,7 @@ FcDirChecksum (const FcChar8 *dir, time_t *checksum)
|
|||
|
||||
return 0;
|
||||
}
|
||||
#endif /* _WIN32 */
|
||||
|
||||
int
|
||||
FcStatChecksum (const FcChar8 *file, struct stat *statb)
|
||||
|
@ -245,11 +244,16 @@ FcStatChecksum (const FcChar8 *file, struct stat *statb)
|
|||
if (FcStat (file, statb) == -1)
|
||||
return -1;
|
||||
|
||||
#ifndef _WIN32
|
||||
/* We have a workaround of the broken stat() in FcStat() for Win32.
|
||||
* No need to do something further more.
|
||||
*/
|
||||
if (FcIsFsMtimeBroken (file))
|
||||
{
|
||||
if (FcDirChecksum (file, &statb->st_mtime) == -1)
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -258,7 +262,7 @@ static int
|
|||
FcFStatFs (int fd, FcStatFS *statb)
|
||||
{
|
||||
const char *p = NULL;
|
||||
int ret;
|
||||
int ret = -1;
|
||||
FcBool flag = FcFalse;
|
||||
|
||||
memset (statb, 0, sizeof (FcStatFS));
|
||||
|
|
|
@ -1052,13 +1052,13 @@ FcStrCanonFilename (const FcChar8 *s)
|
|||
{
|
||||
#ifdef _WIN32
|
||||
FcChar8 full[FC_MAX_FILE_LEN + 2];
|
||||
int size = GetFullPathName (s, sizeof (full) -1,
|
||||
full, NULL);
|
||||
int size = GetFullPathName ((LPCSTR) s, sizeof (full) -1,
|
||||
(LPSTR) full, NULL);
|
||||
|
||||
if (size == 0)
|
||||
perror ("GetFullPathName");
|
||||
|
||||
FcConvertDosPath (full);
|
||||
FcConvertDosPath ((char *) full);
|
||||
return FcStrCanonAbsoluteFilename (full);
|
||||
#else
|
||||
if (s[0] == '/')
|
||||
|
|
24
src/fcxml.c
24
src/fcxml.c
|
@ -1882,11 +1882,11 @@ FcParseDir (FcConfigParse *parse)
|
|||
data = prefix;
|
||||
}
|
||||
#ifdef _WIN32
|
||||
if (strcmp (data, "CUSTOMFONTDIR") == 0)
|
||||
if (strcmp ((const char *) data, "CUSTOMFONTDIR") == 0)
|
||||
{
|
||||
char *p;
|
||||
data = buffer;
|
||||
if (!GetModuleFileName (NULL, buffer, sizeof (buffer) - 20))
|
||||
if (!GetModuleFileName (NULL, (LPCH) buffer, sizeof (buffer) - 20))
|
||||
{
|
||||
FcConfigMessage (parse, FcSevereError, "GetModuleFileName failed");
|
||||
goto bail;
|
||||
|
@ -1901,11 +1901,11 @@ FcParseDir (FcConfigParse *parse)
|
|||
if (p) *p = '\0';
|
||||
strcat (data, "\\fonts");
|
||||
}
|
||||
else if (strcmp (data, "APPSHAREFONTDIR") == 0)
|
||||
else if (strcmp ((const char *) data, "APPSHAREFONTDIR") == 0)
|
||||
{
|
||||
char *p;
|
||||
data = buffer;
|
||||
if (!GetModuleFileName (NULL, buffer, sizeof (buffer) - 20))
|
||||
if (!GetModuleFileName (NULL, (LPCH) buffer, sizeof (buffer) - 20))
|
||||
{
|
||||
FcConfigMessage (parse, FcSevereError, "GetModuleFileName failed");
|
||||
goto bail;
|
||||
|
@ -1914,17 +1914,17 @@ FcParseDir (FcConfigParse *parse)
|
|||
if (p) *p = '\0';
|
||||
strcat (data, "\\..\\share\\fonts");
|
||||
}
|
||||
else if (strcmp (data, "WINDOWSFONTDIR") == 0)
|
||||
else if (strcmp ((const char *) data, "WINDOWSFONTDIR") == 0)
|
||||
{
|
||||
int rc;
|
||||
data = buffer;
|
||||
rc = pGetSystemWindowsDirectory (buffer, sizeof (buffer) - 20);
|
||||
rc = pGetSystemWindowsDirectory ((LPSTR) buffer, sizeof (buffer) - 20);
|
||||
if (rc == 0 || rc > sizeof (buffer) - 20)
|
||||
{
|
||||
FcConfigMessage (parse, FcSevereError, "GetSystemWindowsDirectory failed");
|
||||
goto bail;
|
||||
}
|
||||
if (data [strlen (data) - 1] != '\\')
|
||||
if (data [strlen ((const char *) data) - 1] != '\\')
|
||||
strcat (data, "\\");
|
||||
strcat (data, "fonts");
|
||||
}
|
||||
|
@ -1978,7 +1978,7 @@ FcParseCacheDir (FcConfigParse *parse)
|
|||
data = prefix;
|
||||
}
|
||||
#ifdef _WIN32
|
||||
if (strcmp (data, "WINDOWSTEMPDIR_FONTCONFIG_CACHE") == 0)
|
||||
if (strcmp ((const char *) data, "WINDOWSTEMPDIR_FONTCONFIG_CACHE") == 0)
|
||||
{
|
||||
int rc;
|
||||
FcStrFree (data);
|
||||
|
@ -1989,17 +1989,17 @@ FcParseCacheDir (FcConfigParse *parse)
|
|||
goto bail;
|
||||
}
|
||||
FcMemAlloc (FC_MEM_STRING, 1000);
|
||||
rc = GetTempPath (800, data);
|
||||
rc = GetTempPath (800, (LPSTR) data);
|
||||
if (rc == 0 || rc > 800)
|
||||
{
|
||||
FcConfigMessage (parse, FcSevereError, "GetTempPath failed");
|
||||
goto bail;
|
||||
}
|
||||
if (data [strlen (data) - 1] != '\\')
|
||||
if (data [strlen ((const char *) data) - 1] != '\\')
|
||||
strcat (data, "\\");
|
||||
strcat (data, "fontconfig\\cache");
|
||||
}
|
||||
else if (strcmp (data, "LOCAL_APPDATA_FONTCONFIG_CACHE") == 0)
|
||||
else if (strcmp ((const char *) data, "LOCAL_APPDATA_FONTCONFIG_CACHE") == 0)
|
||||
{
|
||||
char szFPath[MAX_PATH + 1];
|
||||
size_t len;
|
||||
|
@ -2019,7 +2019,7 @@ FcParseCacheDir (FcConfigParse *parse)
|
|||
goto bail;
|
||||
}
|
||||
FcMemAlloc (FC_MEM_STRING, len);
|
||||
strncpy(data, szFPath, len);
|
||||
strncpy((char *) data, szFPath, len);
|
||||
}
|
||||
#endif
|
||||
if (strlen ((char *) data) == 0)
|
||||
|
|
Loading…
Reference in New Issue