diff options
Diffstat (limited to 'src/htslib.h')
-rw-r--r-- | src/htslib.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/htslib.h b/src/htslib.h index d9b6a42..521fd3c 100644 --- a/src/htslib.h +++ b/src/htslib.h @@ -411,9 +411,11 @@ int sig_ignore_flag( int setflag ); // flag ignore void cut_path(char* fullpath,char* path,char* pname); int fexist(const char* s); +int fexist_utf8(const char* s); /*LLint fsize(const char* s); */ off_t fpsize(FILE* fp); off_t fsize(const char* s); +off_t fsize_utf8(const char* s); /* root dir */ #ifndef HTTRACK_DEFLIB HTSEXT_API char* hts_rootdir(char* file); @@ -488,6 +490,29 @@ void *hts_get_callback(t_hts_htmlcheck_callbacks *callbacks, const char *name); ) */ +/* UTF-8 aware FILE operations */ +#ifdef _WIN32 +#define FOPEN hts_fopen_utf8 +extern FILE* hts_fopen_utf8(const char *path, const char *mode); +#define STAT hts_stat_utf8 +typedef struct _stat STRUCT_STAT; +extern int hts_stat_utf8(const char *path, STRUCT_STAT *buf); +#define UNLINK hts_unlink_utf8 +extern int hts_unlink_utf8(const char *pathname); +#define RENAME hts_rename_utf8 +extern int hts_rename_utf8(const char *oldpath, const char *newpath); +#define MKDIR(F) hts_mkdir_utf8(F) +extern int hts_mkdir_utf8(const char *pathname); +#else +/* The underlying filesystem charset is supposed to be UTF-8 */ +#define FOPEN fopen +#define STAT stat +typedef struct stat STRUCT_STAT; +#define UNLINK unlink +#define RENAME rename +#define MKDIR(F) mkdir(F, HTS_ACCESS_FOLDER) +#endif + #endif // internals #undef PATH_SEPARATOR |