|
|
| version 1.1, 2003/10/28 16:44:44 | version 1.6, 2003/11/24 20:44:14 |
|---|---|
| Line 2 | Line 2 |
| #include "dosio.h" | #include "dosio.h" |
| #include "fdefine.h" | #include "fdefine.h" |
| #include "strres.h" | |
| #include "fontdata.h" | |
| void Setfiletype(int ftype, OSType *creator, OSType *fileType) { | void Setfiletype(int ftype, OSType *creator, OSType *fileType) { |
| Line 55 void Setfiletype(int ftype, OSType *crea | Line 57 void Setfiletype(int ftype, OSType *crea |
| *creator = 'hook'; | *creator = 'hook'; |
| break; | break; |
| #endif | #endif |
| case FTYPE_INI: | |
| *fileType = 'TEXT'; | |
| *creator = 'SMil'; | |
| break; | |
| } | } |
| } | } |
| Line 75 static int Getfiletype(FInfo *fndrinfo) | Line 81 static int Getfiletype(FInfo *fndrinfo) |
| case '.HDI': | case '.HDI': |
| return(FTYPE_HDI); | return(FTYPE_HDI); |
| case 'BMP ': | |
| return(FTYPE_BMP); | |
| } | } |
| return(FTYPE_NONE); | return(FTYPE_NONE); |
| } | } |
| 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_INI; | |
| } | |
| else if ((!milstr_cmp(p, str_bmp))) { | |
| ftype = FTYPE_BMP; | |
| } | |
| else if ((!milstr_cmp(p, str_thd))) { | |
| ftype = FTYPE_THD; | |
| } | |
| else if ((!milstr_cmp(p, str_hdi))) { | |
| ftype = FTYPE_HDI; | |
| } | |
| 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); | |
| } | |
| int file_getftype(char* filename) { | int file_getftype(char* filename) { |
| FSSpec fss; | FSSpec fss; |
| Str255 fname; | Str255 fname; |
| FInfo fndrInfo; | FInfo fndrInfo; |
| int ftype; | |
| mkstr255(fname, filename); | ftype = GetFileExt(filename); |
| FSMakeFSSpec(0, 0, fname, &fss); | if (ftype == FTYPE_NONE) { |
| if (FSpGetFInfo(&fss, &fndrInfo) != noErr) { | mkstr255(fname, filename); |
| return(FTYPE_NONE); | FSMakeFSSpec(0, 0, fname, &fss); |
| } | if (FSpGetFInfo(&fss, &fndrInfo) != noErr) { |
| return(Getfiletype(&fndrInfo)); | return(FTYPE_NONE); |
| } | |
| ftype = Getfiletype(&fndrInfo); | |
| } | |
| return(ftype); | |
| } | } |