Merge pull request #664 from htacg/issue-663

Issue 663 - fixes for Haiku port - closes #663
This commit is contained in:
Geoff McLane 2018-01-01 18:28:05 +01:00 committed by GitHub
commit 1f22358a57
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 41 additions and 17 deletions

View File

@ -315,6 +315,15 @@ extern "C" {
# endif
#endif
/* === Convenience defines for Haiku platforms === */
#if defined(__HAIKU__)
# define HAIKU
# ifndef PLATFORM_NAME
# define PLATFORM_NAME "Haiku"
# endif
#endif
/* === Convenience defines for Cygwin platforms === */
#if defined(__CYGWIN__)
@ -428,7 +437,7 @@ extern "C" {
#if PRESERVE_FILE_TIMES
# ifndef HAS_FUTIME
# if defined(CYGWIN_OS) || defined(BE_OS) || defined(OS2_OS) || defined(HPUX_OS) || defined(SOLARIS_OS) || defined(LINUX_OS) || defined(BSD_BASED_OS) || defined(MAC_OS) || defined(__MSL__) || defined(IRIX_OS) || defined(AIX_OS) || defined(__BORLANDC__) || defined(__GLIBC__)
# if defined(CYGWIN_OS) || defined(BE_OS) || defined(OS2_OS) || defined(HPUX_OS) || defined(SOLARIS_OS) || defined(LINUX_OS) || defined(BSD_BASED_OS) || defined(MAC_OS) || defined(__MSL__) || defined(IRIX_OS) || defined(AIX_OS) || defined(__BORLANDC__) || defined(__GLIBC__) || defined(__HAIKU__)
# define HAS_FUTIME 0
# else
# define HAS_FUTIME 1
@ -456,6 +465,12 @@ extern "C" {
# include <utime.h>
# endif
#if defined(__HAIKU__)
#ifndef va_copy
#define va_copy(dest, src) (dest = src)
#endif
#endif
/* MS Windows needs _ prefix for Unix file functions.
Not required by Metrowerks Standard Library (MSL).
@ -549,7 +564,7 @@ extern "C" {
# include <sys/types.h>
#endif
#if !defined(HPUX_OS) && !defined(CYGWIN_OS) && !defined(MAC_OS_X) && !defined(BE_OS) && !defined(SOLARIS_OS) && !defined(BSD_BASED_OS) && !defined(OSF_OS) && !defined(IRIX_OS) && !defined(AIX_OS) && !defined(LINUX_OS)
#if !defined(HPUX_OS) && !defined(CYGWIN_OS) && !defined(MAC_OS_X) && !defined(BE_OS) && !defined(SOLARIS_OS) && !defined(BSD_BASED_OS) && !defined(OSF_OS) && !defined(IRIX_OS) && !defined(AIX_OS) && !defined(LINUX_OS) && !defined(__HAIKU__)
# undef uint
typedef unsigned int uint;
#endif

View File

@ -22,12 +22,13 @@
/**
* This structure type provides universal access to all of Tidy's strings.
* Note limit of 8, to be changed as more added...
*/
typedef struct {
Bool manually_set;
languageDefinition *currentLanguage;
languageDefinition *fallbackLanguage;
languageDefinition *languages[];
languageDefinition *languages[8];
} tidyLanguagesType;

View File

@ -1,4 +1,4 @@
#ifndef language_en_gb_h
#ifndef language_en_gb_h
#define language_en_gb_h
/*
* language_en_gb.h
@ -180,3 +180,4 @@ static languageDefinition language_en_gb = { whichPluralForm_en_gb, {
#endif /* language_en_gb_h */

View File

@ -1,4 +1,4 @@
#ifndef language_es_h
#ifndef language_es_h
#define language_es_h
/*
* language_es.h
@ -131,3 +131,4 @@ static languageDefinition language_es = { whichPluralForm_es, {
#endif /* language_es_h */

View File

@ -1,4 +1,4 @@
#ifndef language_es_mx_h
#ifndef language_es_mx_h
#define language_es_mx_h
/*
* language_es_mx.h
@ -76,3 +76,4 @@ static languageDefinition language_es_mx = { whichPluralForm_es_mx, {
#endif /* language_es_mx_h */

View File

@ -1,4 +1,4 @@
#ifndef language_fr_h
#ifndef language_fr_h
#define language_fr_h
/*
* language_fr.h
@ -1172,3 +1172,4 @@ static languageDefinition language_fr = { whichPluralForm_fr, {
#endif /* language_fr_h */

View File

@ -1,4 +1,4 @@
#ifndef language_pt_br_h
#ifndef language_pt_br_h
#define language_pt_br_h
/*
* language_pt_br.h
@ -1294,3 +1294,4 @@ static languageDefinition language_pt_br = { whichPluralForm_pt_br, {
#endif /* language_pt_br_h */

View File

@ -1,4 +1,4 @@
#ifndef language_zh_cn_h
#ifndef language_zh_cn_h
#define language_zh_cn_h
/*
* language_zh_cn.h
@ -78,3 +78,4 @@ static languageDefinition language_zh_cn = { whichPluralForm_zh_cn, {
#endif /* language_zh_cn_h */

View File

@ -1135,14 +1135,16 @@ int tidyDocParseFile( TidyDocImpl* doc, ctmbstr filnam )
fin = fopen( filnam, "rb" );
#if PRESERVE_FILE_TIMES
struct stat sbuf = {0};
/* get last modified time */
TidyClearMemory( &doc->filetimes, sizeof(doc->filetimes) );
if ( fin && cfgBool(doc,TidyKeepFileTimes) &&
fstat(fileno(fin), &sbuf) != -1 )
{
doc->filetimes.actime = sbuf.st_atime;
doc->filetimes.modtime = sbuf.st_mtime;
struct stat sbuf = { 0 };
/* get last modified time */
TidyClearMemory(&doc->filetimes, sizeof(doc->filetimes));
if (fin && cfgBool(doc, TidyKeepFileTimes) &&
fstat(fileno(fin), &sbuf) != -1)
{
doc->filetimes.actime = sbuf.st_atime;
doc->filetimes.modtime = sbuf.st_mtime;
}
}
#endif
@ -1436,8 +1438,8 @@ int TY_(DocParseStream)( TidyDocImpl* doc, StreamIn* in )
Bool xmlIn = cfgBool( doc, TidyXmlTags );
TidyConfigChangeCallback callback = doc->pConfigChangeCallback;
doc->pConfigChangeCallback = NULL;
int bomEnc;
doc->pConfigChangeCallback = NULL;
assert( doc != NULL && in != NULL );
assert( doc->docIn == NULL );