--- np2/macosx/fdefine.cpp 2003/11/03 10:19:43 1.2 +++ np2/macosx/fdefine.cpp 2004/01/11 16:58:47 1.7 @@ -3,11 +3,12 @@ #include "dosio.h" #include "fdefine.h" #include "strres.h" +#include "fontdata.h" void Setfiletype(int ftype, OSType *creator, OSType *fileType) { *creator = 'SMil'; - *fileType = '????'; +// *fileType = '????'; switch(ftype) { // case FTYPE_SMIL: // ¥·¥¹¥Æ¥àͽÌó @@ -56,6 +57,10 @@ void Setfiletype(int ftype, OSType *crea *creator = 'hook'; break; #endif + case FTYPE_INI: + *fileType = 'TEXT'; + *creator = 'SMil'; + break; } } @@ -76,6 +81,9 @@ static int Getfiletype(FInfo *fndrinfo) case '.HDI': return(FTYPE_HDI); + + case 'BMP ': + return(FTYPE_BMP); } return(FTYPE_NONE); } @@ -83,14 +91,16 @@ static int Getfiletype(FInfo *fndrinfo) static int GetFileExt(char* filename) { char* p; + char* n; int ftype; p = file_getext((char *)filename); + n = file_getname((char *)filename); if ((!milstr_cmp(p, str_d88)) || (!milstr_cmp(p, str_d98))) { ftype = FTYPE_D88; } else if ((!milstr_cmp(p, str_ini))) { - ftype = FTYPE_TEXT; + ftype = FTYPE_INI; } else if ((!milstr_cmp(p, str_bmp))) { ftype = FTYPE_BMP; @@ -101,9 +111,25 @@ static int GetFileExt(char* filename) { else if ((!milstr_cmp(p, str_hdi))) { ftype = FTYPE_HDI; } - else { + else if ((!milstr_cmp(p, "xdf")) || (!milstr_cmp(p, "dup")) || (!milstr_cmp(p, "hdm"))) { ftype = FTYPE_BETA; } + else if ( + (!file_cmpname(n, v98fontname)) || + (!file_cmpname(n, pc88ankname)) || + (!file_cmpname(n, pc88knj1name))|| + (!file_cmpname(n, pc88knj2name))|| + (!file_cmpname(n, fm7ankname)) || + (!file_cmpname(n, fm7knjname)) || + (!file_cmpname(n, x1ank1name)) || + (!file_cmpname(n, x1ank2name)) || + (!file_cmpname(n, x1knjname)) || + (!file_cmpname(n, x68kfontname))) { + ftype = FTYPE_SMIL; + } + else { + ftype = FTYPE_NONE; + } return(ftype); } @@ -114,14 +140,14 @@ int file_getftype(char* filename) { FInfo fndrInfo; int ftype; - mkstr255(fname, filename); - FSMakeFSSpec(0, 0, fname, &fss); - if (FSpGetFInfo(&fss, &fndrInfo) != noErr) { - return(FTYPE_NONE); - } - ftype = Getfiletype(&fndrInfo); + ftype = GetFileExt(filename); if (ftype == FTYPE_NONE) { - ftype = GetFileExt(filename); - } + mkstr255(fname, filename); + FSMakeFSSpec(0, 0, fname, &fss); + if (FSpGetFInfo(&fss, &fndrInfo) != noErr) { + return(FTYPE_NONE); + } + ftype = Getfiletype(&fndrInfo); + } return(ftype); }