diff options
author | Xavier Roche <xroche@users.noreply.github.com> | 2012-05-06 14:20:29 +0000 |
---|---|---|
committer | Xavier Roche <xroche@users.noreply.github.com> | 2012-05-06 14:20:29 +0000 |
commit | fbfb68b7c76a90879e49b1ef4792503682dff9e5 (patch) | |
tree | 657425618c9cf88584ddc951846625a02863c91c /src/htstools.c | |
parent | 78a63125160c4df021b7be08761435b5cc0f5f2f (diff) |
UTF-8 filenames handling (based on HTML page charset)
Diffstat (limited to 'src/htstools.c')
-rw-r--r-- | src/htstools.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/htstools.c b/src/htstools.c index d615f23..ebb5e01 100644 --- a/src/htstools.c +++ b/src/htstools.c @@ -67,7 +67,7 @@ struct find_handle_struct { struct find_handle_struct { DIR * hdir; struct dirent* dirp; - struct stat filestat; + STRUCT_STAT filestat; char path[2048]; }; #endif @@ -481,6 +481,7 @@ void longfile_to_83(int mode,char* n83,char* save) { } // écrire backblue.gif +/* Note: utf-8 */ int verif_backblue(httrackp* opt, const char* base) { int* done = &opt->state.verif_backblue_done; int ret=0; @@ -490,7 +491,7 @@ int verif_backblue(httrackp* opt, const char* base) { return 0; } if ( (!*done) - || (fsize(fconcat(OPT_GET_BUFF(opt), base,"backblue.gif")) != HTS_DATA_BACK_GIF_LEN)) { + || (fsize_utf8(fconcat(OPT_GET_BUFF(opt), base,"backblue.gif")) != HTS_DATA_BACK_GIF_LEN)) { FILE* fp = filecreate(&opt->state.strc, fconcat(OPT_GET_BUFF(opt), base,"backblue.gif")); *done=1; if (fp) { @@ -683,6 +684,7 @@ static int sortTopIndexFnc(const void * a_, const void * b_) { HTSEXT_API char* hts_getcategory(const char* filename); +/* Note: NOT utf-8 */ HTSEXT_API int hts_buildtopindex(httrackp* opt,const char* path,const char* binpath) { FILE* fpo; int retval=0; @@ -1006,7 +1008,7 @@ HTSEXT_API int hts_findnext(find_handle find) { memset(&(find->filestat), 0, sizeof(find->filestat)); if ((find->dirp=readdir(find->hdir))) if (find->dirp->d_name) - if (!stat(concat(catbuff, find->path,find->dirp->d_name),&find->filestat)) + if (!STAT(concat(catbuff, find->path,find->dirp->d_name),&find->filestat)) return 1; #endif } |