AmendHub

Download:

nulleric

/

Fix-a-Fork

/

amendments

/

19

CheckFileExt with ~300 file types

Only use extensions as a last resort

eric made amendment 19 11 months ago
--- main.c Thu Nov 9 12:28:51 2023 +++ main.c Thu Nov 9 15:07:12 2023 @@ -78,7 +78,8 @@ OSErr openFile(unsigned char *fName, short fRefNum, sh long count = BUF_SIZE; FInfo fi = {0}; Boolean found = false; - char ext[4] = {0}; + char ext[5] = {0}; + short i = 0, j = 0; err = FSOpen(fName, vRefNum, &fRefNum); if(err) return err; @@ -115,24 +116,17 @@ OSErr openFile(unsigned char *fName, short fRefNum, sh if(!found) { - // Parse file extension - ext[2] = fName[fName[0] - 0]; - ext[1] = fName[fName[0] - 1]; - ext[0] = fName[fName[0] - 2]; - LowerText(ext, 3); - if(strcmp(ext, "bin")) + for(i = fName[0]; i > 0; i--) + if(fName[i] == '.') + break; + if(i != fName[0] && i <= 5) // There is an extension { - gType = 'BINA'; - gCreator = 'SITx'; - found = true; - } else if(strcmp(ext, "tar")) { - gType = 'TARF'; - gCreator = 'SITx'; - found = true; - } else if(strcmp(ext, ".bz")) { - gType = 'Bzp2'; - gCreator = 'SITx'; - found = true; + i = i + 1; // increment to avoid '.' + // Parse file extension + for(; i <= fName[0]; i++) + ext[j++] = fName[i]; + LowerText(ext, strlen(ext)); + found = CheckFileExt(ext); } } @@ -269,4 +263,1211 @@ Boolean magicCheck(char *magic, short offset, OSType t gType = type; gCreator = creator; return true; +} + +Boolean CheckFileExt(char *ext) +{ + if(strcmp(ext, "bin")) { + gType = 'BINA'; + gCreator = 'SITx'; + return true; + } else if(strcmp(ext, "tar")) { + gType = 'TARF'; + gCreator = 'SITx'; + return true; + } else if(strcmp(ext, "bz")) { + gType = 'Bzp2'; + gCreator = 'SITx'; + return true; + } else if(strcmp(ext, "1st")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // Text - Readme + } else if(strcmp(ext, "669")) { + gType = '6669'; + gCreator = 'SNPL'; + return true; // 669 - MOD + } else if(strcmp(ext, "8med")) { + gType = 'STrk'; + gCreator = 'SCPL'; + return true; // Amiga - OctaMed + } else if(strcmp(ext, "8svx")) { + gType = '8SVX'; + gCreator = 'SCPL'; + return true; // Amiga - 8-bit + } else if(strcmp(ext, "aif")) { + gType = 'AIFF'; + gCreator = 'SCPL'; + return true; // AIFF - Sound + } else if(strcmp(ext, "aifc")) { + gType = 'AIFC'; + gCreator = 'SCPL'; + return true; // AIFF - Sound + } else if(strcmp(ext, "aiff")) { + gType = 'AIFF'; + gCreator = 'SCPL'; + return true; // AIFF - Sound + } else if(strcmp(ext, "al")) { + gType = 'ALAW'; + gCreator = 'SCPL'; + return true; // ALAW - Sound + } else if(strcmp(ext, "ani")) { + gType = 'ANIi'; + gCreator = 'GKON'; + return true; // Animated - NeoChrome + } else if(strcmp(ext, "apd")) { + gType = 'TEXT'; + gCreator = 'ALD3'; + return true; // Aldus - Printer + } else if(strcmp(ext, "arc")) { + gType = 'mArc'; + gCreator = 'SITx'; + return true; // PC - ARChive + } else if(strcmp(ext, "arj")) { + gType = 'BINA'; + gCreator = 'DArj'; + return true; // ARJ - Archive + } else if(strcmp(ext, "arr")) { + gType = 'ARR '; + gCreator = 'GKON'; + return true; // Amber - ARR + } else if(strcmp(ext, "art")) { + gType = 'ART '; + gCreator = 'GKON'; + return true; // First - Publisher + } else if(strcmp(ext, "ascii")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // ASCII - Text + } else if(strcmp(ext, "asc")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // ASCII - Text + } else if(strcmp(ext, "asf")) { + gType = 'ASF_'; + gCreator = 'Ms01'; + return true; // Netshow - Player + } else if(strcmp(ext, "asm")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // Assembly - Source + } else if(strcmp(ext, "asx")) { + gType = 'ASX_'; + gCreator = 'Ms01'; + return true; // Netshow - Player + } else if(strcmp(ext, "a")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // Assembly - Source + } else if(strcmp(ext, "au")) { + gType = 'ULAW'; + gCreator = 'TVOD'; + return true; // Sun - Sound + } else if(strcmp(ext, "avi")) { + gType = 'VfW '; + gCreator = 'TVOD'; + return true; // AVI - Movie + } else if(strcmp(ext, "bar")) { + gType = 'BARF'; + gCreator = 'S691'; + return true; // Unix - BAR + } else if(strcmp(ext, "bas")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // BASIC - Source + } else if(strcmp(ext, "bat")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // MS-DOS - Batch + } else if(strcmp(ext, "bga")) { + gType = 'BMPp'; + gCreator = 'ogle'; + return true; // OS/2 - Bitmap + } else if(strcmp(ext, "bib")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // BibTex - Bibliography + } else if(strcmp(ext, "binary")) { + gType = 'BINA'; + gCreator = 'hDmp'; + return true; // Untyped - Binary + } else if(strcmp(ext, "bin")) { + gType = 'SIT!'; + gCreator = 'SITx'; + return true; // MacBinary - StuffIt + } else if(strcmp(ext, "bld")) { + gType = 'BLD '; + gCreator = 'GKON'; + return true; // BLD - GraphicConverter + } else if(strcmp(ext, "bmp")) { + gType = 'BMPp'; + gCreator = 'ogle'; + return true; // Windows - Bitmap + } else if(strcmp(ext, "boo")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // BOO - encoded + } else if(strcmp(ext, "bst")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // BibTex - Style + } else if(strcmp(ext, "bum")) { + gType = '.bMp'; + gCreator = 'GKON'; + return true; // QuickTime - Importer(QuickDraw) + } else if(strcmp(ext, "bw")) { + gType = 'SGI '; + gCreator = 'GKON'; + return true; // SGI - Image + } else if(strcmp(ext, "cel")) { + gType = 'CEL '; + gCreator = 'GKON'; + return true; // KISS - CEL + } else if(strcmp(ext, "cgm")) { + gType = 'CGMm'; + gCreator = 'GKON'; + return true; // Computer - Graphics + } else if(strcmp(ext, "class")) { + gType = 'Clss'; + gCreator = 'CWIE'; + return true; // Java - Class + } else if(strcmp(ext, "clp")) { + gType = 'CLPp'; + gCreator = 'GKON'; + return true; // Windows - Clipboard + } else if(strcmp(ext, "cmd")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // OS/2 - Batch + } else if(strcmp(ext, "com")) { + gType = 'PCFA'; + gCreator = 'SWIN'; + return true; // MS-DOS - Executable + } else if(strcmp(ext, "cpp")) { + gType = 'TEXT'; + gCreator = 'CWIE'; + return true; // C++ - Source + } else if(strcmp(ext, "cp")) { + gType = 'TEXT'; + gCreator = 'CWIE'; + return true; // C++ - Source + } else if(strcmp(ext, "cpt")) { + gType = 'PACT'; + gCreator = 'SITx'; + return true; // Compact - Pro + } else if(strcmp(ext, "csv")) { + gType = 'TEXT'; + gCreator = 'XCEL'; + return true; // Comma - Separated + } else if(strcmp(ext, "ct")) { + gType = '..CT'; + gCreator = 'GKON'; + return true; // Scitex-CT - GraphicConverter + } else if(strcmp(ext, "c")) { + gType = 'TEXT'; + gCreator = 'CWIE'; + return true; // C - Source + } else if(strcmp(ext, "cur")) { + gType = 'CUR '; + gCreator = 'GKON'; + return true; // Windows - Cursor + } else if(strcmp(ext, "cut")) { + gType = 'Halo'; + gCreator = 'GKON'; + return true; // Dr - Halo + } else if(strcmp(ext, "cvs")) { + gType = 'drw2'; + gCreator = 'DAD2'; + return true; // Canvas - Drawing + } else if(strcmp(ext, "cwj")) { + gType = 'CWSS'; + gCreator = 'cwkj'; + return true; // ClarisWorks - Document + } else if(strcmp(ext, "dat")) { + gType = 'TCLl'; + gCreator = 'GKON'; + return true; // TCL - image + } else if(strcmp(ext, "dbf")) { + gType = 'COMP'; + gCreator = 'FOX+'; + return true; // DBase - Document + } else if(strcmp(ext, "dcx")) { + gType = 'DCXx'; + gCreator = 'GKON'; + return true; // Some - PCX + } else if(strcmp(ext, "dif")) { + gType = 'TEXT'; + gCreator = 'XCEL'; + return true; // Data - Interchange + } else if(strcmp(ext, "diz")) { + gType = 'TEXT'; + gCreator = 'R*Ch'; + return true; // BBS - Descriptive + } else if(strcmp(ext, "dl")) { + gType = 'DL '; + gCreator = 'AnVw'; + return true; // DL - Animation + } else if(strcmp(ext, "dll")) { + gType = 'PCFL'; + gCreator = 'SWIN'; + return true; // Windows - DLL + } else if(strcmp(ext, "doc")) { + gType = 'WDBN'; + gCreator = 'MSWD'; + return true; // Word - Document + } else if(strcmp(ext, "dot")) { + gType = 'sDBN'; + gCreator = 'MSWD'; + return true; // Word - for + } else if(strcmp(ext, "dsk")) { + gType = 'dimg'; + gCreator = 'dCpy'; + return true; // Apple - DiskCopy + } else if(strcmp(ext, "dvi")) { + gType = 'ODVI'; + gCreator = 'xdvi'; + return true; // TeX - DVI + } else if(strcmp(ext, "dwt")) { + gType = 'TEXT'; + gCreator = 'DmWr'; + return true; // Dreamweaver - Template + } else if(strcmp(ext, "dxf")) { + gType = 'TEXT'; + gCreator = 'SWVL'; + return true; // AutoCAD - 3D + } else if(strcmp(ext, "eps")) { + gType = 'EPSF'; + gCreator = 'vgrd'; + return true; // Postscript - LaserWriter + } else if(strcmp(ext, "epsf")) { + gType = 'EPSF'; + gCreator = 'vgrd'; + return true; // Postscript - LaserWriter + } else if(strcmp(ext, "etx")) { + gType = 'TEXT'; + gCreator = 'ezVu'; + return true; // SEText - Easy + } else if(strcmp(ext, "evy")) { + gType = 'EVYD'; + gCreator = 'ENVY'; + return true; // Envoy - Document + } else if(strcmp(ext, "exe")) { + gType = 'PCFA'; + gCreator = 'SWIN'; + return true; // MS-DOS - Executable + } else if(strcmp(ext, "faq")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // ASCII - Text + } else if(strcmp(ext, "fit")) { + gType = 'FITS'; + gCreator = 'GKON'; + return true; // Flexible - Image + } else if(strcmp(ext, "fla")) { + gType = 'SPA '; + gCreator = 'MFL2'; + return true; // Flash - source + } else if(strcmp(ext, "flc")) { + gType = 'FLI '; + gCreator = 'TVOD'; + return true; // FLIC - Animation + } else if(strcmp(ext, "fli")) { + gType = 'FLI '; + gCreator = 'TVOD'; + return true; // FLI - Animation + } else if(strcmp(ext, "fm")) { + gType = 'FMPR'; + gCreator = 'FMPR'; + return true; // FileMaker - Pro + } else if(strcmp(ext, "for")) { + gType = 'TEXT'; + gCreator = 'MPS '; + return true; // Fortran - Source + } else if(strcmp(ext, "fts")) { + gType = 'FITS'; + gCreator = 'GKON'; + return true; // Flexible - Image + } else if(strcmp(ext, "gem")) { + gType = 'GEM-'; + gCreator = 'GKON'; + return true; // GEM - Metafile + } else if(strcmp(ext, "gif")) { + gType = 'GIFf'; + gCreator = 'ogle'; + return true; // GIF - Picture + } else if(strcmp(ext, "gl")) { + gType = 'GL '; + gCreator = 'AnVw'; + return true; // GL - Animation + } else if(strcmp(ext, "grp")) { + gType = 'GRPp'; + gCreator = 'GKON'; + return true; // GRP - Image + } else if(strcmp(ext, "gz")) { + gType = 'SIT!'; + gCreator = 'SITx'; + return true; // Gnu - ZIP + } else if(strcmp(ext, "hcom")) { + gType = 'FSSD'; + gCreator = 'SCPL'; + return true; // SoundEdit - Sound + } else if(strcmp(ext, "hpgl")) { + gType = 'HPGL'; + gCreator = 'GKON'; + return true; // HP - GL/2 + } else if(strcmp(ext, "hpp")) { + gType = 'TEXT'; + gCreator = 'CWIE'; + return true; // C - Include + } else if(strcmp(ext, "hp")) { + gType = 'TEXT'; + gCreator = 'CWIE'; + return true; // C - Include + } else if(strcmp(ext, "hqx")) { + gType = 'TEXT'; + gCreator = 'SITx'; + return true; // BinHex - StuffIt + } else if(strcmp(ext, "hr")) { + gType = 'TR80'; + gCreator = 'GKON'; + return true; // TSR-80 - HR + } else if(strcmp(ext, "h")) { + gType = 'TEXT'; + gCreator = 'CWIE'; + return true; // C - Include + } else if(strcmp(ext, "html")) { + gType = 'TEXT'; + gCreator = 'MOSS'; + return true; // HyperText - Netscape + } else if(strcmp(ext, "htm")) { + gType = 'TEXT'; + gCreator = 'MOSS'; + return true; // HyperText - Netscape + } else if(strcmp(ext, "i3")) { + gType = 'TEXT'; + gCreator = 'R*ch'; + return true; // Modula - 3 + } else if(strcmp(ext, "ic1")) { + gType = 'IMAG'; + gCreator = 'GKON'; + return true; // Atari - Image + } else if(strcmp(ext, "ic2")) { + gType = 'IMAG'; + gCreator = 'GKON'; + return true; // Atari - Image + } else if(strcmp(ext, "ic3")) { + gType = 'IMAG'; + gCreator = 'GKON'; + return true; // Atari - Image + } else if(strcmp(ext, "icn")) { + gType = 'ICO '; + gCreator = 'GKON'; + return true; // Windows - Icon + } else if(strcmp(ext, "ico")) { + gType = 'ICO '; + gCreator = 'GKON'; + return true; // Windows - Icon + } else if(strcmp(ext, "ief")) { + gType = 'IEF '; + gCreator = 'GKON'; + return true; // IEF - image + } else if(strcmp(ext, "iff")) { + gType = 'ILBM'; + gCreator = 'GKON'; + return true; // Amiga - IFF + } else if(strcmp(ext, "ilbm")) { + gType = 'ILBM'; + gCreator = 'GKON'; + return true; // Amiga - ILBM + } else if(strcmp(ext, "image")) { + gType = 'dImg'; + gCreator = 'ddsk'; + return true; // Apple - DiskCopy + } else if(strcmp(ext, "img")) { + gType = 'dImg'; + gCreator = 'ddsk'; + return true; // Apple - DiskCopy + } else if(strcmp(ext, "#img")) { + gType = 'IMGg'; + gCreator = 'GKON'; + return true; // GEM - bit + } else if(strcmp(ext, "ini")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // Windows - INI + } else if(strcmp(ext, "iso")) { + gType = 'rodh'; + gCreator = 'ddsk'; + return true; // Apple - ISO + } else if(strcmp(ext, "iss")) { + gType = 'ISS '; + gCreator = 'GKON'; + return true; // ISS - GraphicConverter + } else if(strcmp(ext, "java")) { + gType = 'TEXT'; + gCreator = 'CWIE'; + return true; // Java - Source + } else if(strcmp(ext, "jfif")) { + gType = 'JPEG'; + gCreator = 'ogle'; + return true; // JFIF - Image + } else if(strcmp(ext, "jif")) { + gType = 'JIFf'; + gCreator = 'GKON'; + return true; // JIF99a - GraphicConverter + } else if(strcmp(ext, "jpeg")) { + gType = 'JPEG'; + gCreator = 'ogle'; + return true; // JPEG - Picture + } else if(strcmp(ext, "jpe")) { + gType = 'JPEG'; + gCreator = 'ogle'; + return true; // JPEG - Picture + } else if(strcmp(ext, "jpg")) { + gType = 'JPEG'; + gCreator = 'ogle'; + return true; // JPEG - Picture + } else if(strcmp(ext, "latex")) { + gType = 'TEXT'; + gCreator = 'OTEX'; + return true; // Latex - OzTex + } else if(strcmp(ext, "lbm")) { + gType = 'ILBM'; + gCreator = 'GKON'; + return true; // Amiga - IFF + } else if(strcmp(ext, "lha")) { + gType = 'LHA '; + gCreator = 'SITx'; + return true; // LHArc - Archive + } else if(strcmp(ext, "lwf")) { + gType = 'lwfF'; + gCreator = 'GKON'; + return true; // LuraWave(LWF) - GraphicConverter + } else if(strcmp(ext, "lzh")) { + gType = 'LHA '; + gCreator = 'SITx'; + return true; // LHArc - Archive + } else if(strcmp(ext, "m1a")) { + gType = 'MPEG'; + gCreator = 'TVOD'; + return true; // MPEG-1 - audiostream + } else if(strcmp(ext, "m1s")) { + gType = 'MPEG'; + gCreator = 'TVOD'; + return true; // MPEG-1 - systemstream + } else if(strcmp(ext, "m1v")) { + gType = 'M1V '; + gCreator = 'TVOD'; + return true; // MPEG-1 - IPB + } else if(strcmp(ext, "m2")) { + gType = 'TEXT'; + gCreator = 'R*ch'; + return true; // Modula - 2 + } else if(strcmp(ext, "m2v")) { + gType = 'MPG2'; + gCreator = 'MPG2'; + return true; // MPEG-2 - IPB + } else if(strcmp(ext, "m3")) { + gType = 'TEXT'; + gCreator = 'R*ch'; + return true; // Modula - 3 + } else if(strcmp(ext, "mac")) { + gType = 'PICT'; + gCreator = 'ogle'; + return true; // PICT - Picture + } else if(strcmp(ext, "mak")) { + gType = 'TEXT'; + gCreator = 'R*ch'; + return true; // Makefile - BBEdit + } else if(strcmp(ext, "mbm")) { + gType = 'MBM '; + gCreator = 'GKON'; + return true; // PSION - 5(MBM) + } else if(strcmp(ext, "mcw")) { + gType = 'WDBN'; + gCreator = 'MSWD'; + return true; // Mac - Word + } else if(strcmp(ext, "med")) { + gType = 'STrk'; + gCreator = 'SCPL'; + return true; // Amiga - MED + } else if(strcmp(ext, "me")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // Text - Readme + } else if(strcmp(ext, "mf")) { + gType = 'TEXT'; + gCreator = '*MF*'; + return true; // Metafont - Metafont + } else if(strcmp(ext, "midi")) { + gType = 'Midi'; + gCreator = 'TVOD'; + return true; // MIDI - Music + } else if(strcmp(ext, "mid")) { + gType = 'Midi'; + gCreator = 'TVOD'; + return true; // MIDI - Music + } else if(strcmp(ext, "mif")) { + gType = 'TEXT'; + gCreator = 'Fram'; + return true; // FrameMaker - MIF + } else if(strcmp(ext, "mime")) { + gType = 'TEXT'; + gCreator = 'SITx'; + return true; // MIME - Message + } else if(strcmp(ext, "ml")) { + gType = 'TEXT'; + gCreator = 'R*ch'; + return true; // ML - Source + } else if(strcmp(ext, "mod")) { + gType = 'STrk'; + gCreator = 'SCPL'; + return true; // MOD - Music + } else if(strcmp(ext, "mol")) { + gType = 'TEXT'; + gCreator = 'RSML'; + return true; // MDL - Molfile + } else if(strcmp(ext, "moov")) { + gType = 'MooV'; + gCreator = 'TVOD'; + return true; // QuickTime - Movie + } else if(strcmp(ext, "mov")) { + gType = 'MooV'; + gCreator = 'TVOD'; + return true; // QuickTime - Movie + } else if(strcmp(ext, "mp2")) { + gType = 'MPEG'; + gCreator = 'TVOD'; + return true; // MPEG-1 - audiostream + } else if(strcmp(ext, "mp3")) { + gType = 'MPG3'; + gCreator = 'TVOD'; + return true; // MPEG-3 - audiostream + } else if(strcmp(ext, "mpa")) { + gType = 'MPEG'; + gCreator = 'TVOD'; + return true; // MPEG-1 - audiostream + } else if(strcmp(ext, "mpeg")) { + gType = 'MPEG'; + gCreator = 'TVOD'; + return true; // MPEG - Movie + } else if(strcmp(ext, "mpe")) { + gType = 'MPEG'; + gCreator = 'TVOD'; + return true; // MPEG - Movie + } else if(strcmp(ext, "mpg")) { + gType = 'MPEG'; + gCreator = 'TVOD'; + return true; // MPEG - Movie + } else if(strcmp(ext, "msp")) { + gType = 'MSPp'; + gCreator = 'GKON'; + return true; // Microsoft - Paint + } else if(strcmp(ext, "mtm")) { + gType = 'MTM '; + gCreator = 'SNPL'; + return true; // MultiMOD - Music + } else if(strcmp(ext, "mwii")) { + gType = 'MW2D'; + gCreator = 'MWII'; + return true; // MacWrite - Document + } else if(strcmp(ext, "mw")) { + gType = 'MW2D'; + gCreator = 'MWII'; + return true; // MacWrite - Document + } else if(strcmp(ext, "neo")) { + gType = 'NeoC'; + gCreator = 'GKON'; + return true; // Atari - NeoChrome + } else if(strcmp(ext, "nfo")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // Info - Text + } else if(strcmp(ext, "ngg")) { + gType = 'NGGC'; + gCreator = 'GKON'; + return true; // Mobile - Phone(Nokia)Format + } else if(strcmp(ext, "nol")) { + gType = 'NOL '; + gCreator = 'GKON'; + return true; // Mobile - Phone(Nokia)Format + } else if(strcmp(ext, "nst")) { + gType = 'STrk'; + gCreator = 'SCPL'; + return true; // MOD - Music + } else if(strcmp(ext, "obj")) { + gType = 'PCFL'; + gCreator = 'SWIN'; + return true; // Object - (DOS/Windows) + } else if(strcmp(ext, "oda")) { + gType = 'ODIF'; + gCreator = 'ODA '; + return true; // ODA - Document + } else if(strcmp(ext, "okt")) { + gType = 'OKTA'; + gCreator = 'SCPL'; + return true; // Oktalyser - MOD + } else if(strcmp(ext, "out")) { + gType = 'BINA'; + gCreator = 'hDmp'; + return true; // Output - File + } else if(strcmp(ext, "ovl")) { + gType = 'PCFL'; + gCreator = 'SWIN'; + return true; // Overlay - (DOS/Windows) + } else if(strcmp(ext, "pac")) { + gType = 'STAD'; + gCreator = 'GKON'; + return true; // Atari - STAD + } else if(strcmp(ext, "pal")) { + gType = '8BCT'; + gCreator = '8BIM'; + return true; // Color - Table + } else if(strcmp(ext, "pas")) { + gType = 'TEXT'; + gCreator = 'CWIE'; + return true; // Pascal - Source + } else if(strcmp(ext, "pbm")) { + gType = 'PPGM'; + gCreator = 'GKON'; + return true; // Portable - Bitmap + } else if(strcmp(ext, "pc1")) { + gType = 'Dega'; + gCreator = 'GKON'; + return true; // Atari - Degas + } else if(strcmp(ext, "pc2")) { + gType = 'Dega'; + gCreator = 'GKON'; + return true; // Atari - Degas + } else if(strcmp(ext, "pc3")) { + gType = 'Dega'; + gCreator = 'GKON'; + return true; // Atari - Degas + } else if(strcmp(ext, "pcs")) { + gType = 'PICS'; + gCreator = 'GKON'; + return true; // Animated - PICTs + } else if(strcmp(ext, "pct")) { + gType = 'PICT'; + gCreator = 'ogle'; + return true; // PICT - Picture + } else if(strcmp(ext, "pcx")) { + gType = 'PCXx'; + gCreator = 'GKON'; + return true; // PC - PaintBrush + } else if(strcmp(ext, "pdb")) { + gType = 'TEXT'; + gCreator = 'RSML'; + return true; // Brookhaven - PDB + } else if(strcmp(ext, "pdf")) { + gType = 'PDF '; + gCreator = 'CARO'; + return true; // Portable - Document + } else if(strcmp(ext, "pdx")) { + gType = 'TEXT'; + gCreator = 'ALD5'; + return true; // Printer - Description + } else if(strcmp(ext, "pf")) { + gType = 'CSIT'; + gCreator = 'SITx'; + return true; // Private - File + } else if(strcmp(ext, "pgc")) { + gType = 'PGCF'; + gCreator = 'GKON'; + return true; // PGC/PGF - Atari + } else if(strcmp(ext, "pgm")) { + gType = 'PPGM'; + gCreator = 'GKON'; + return true; // Portable - Graymap + } else if(strcmp(ext, "pi1")) { + gType = 'Dega'; + gCreator = 'GKON'; + return true; // Atari - Degas + } else if(strcmp(ext, "pi2")) { + gType = 'Dega'; + gCreator = 'GKON'; + return true; // Atari - Degas + } else if(strcmp(ext, "pi3")) { + gType = 'Dega'; + gCreator = 'GKON'; + return true; // Atari - Degas + } else if(strcmp(ext, "pic")) { + gType = 'PICT'; + gCreator = 'ogle'; + return true; // PICT - Picture + } else if(strcmp(ext, "pics")) { + gType = 'PICS'; + gCreator = 'GKON'; + return true; // PICS-PICT - Sequence + } else if(strcmp(ext, "pict")) { + gType = 'PICT'; + gCreator = 'ogle'; + return true; // PICT - Picture + } else if(strcmp(ext, "pit")) { + gType = 'PIT '; + gCreator = 'SITx'; + return true; // PackIt - Archive + } else if(strcmp(ext, "pkg")) { + gType = 'HBSF'; + gCreator = 'SITx'; + return true; // AppleLink - Package + } else if(strcmp(ext, "pl")) { + gType = 'TEXT'; + gCreator = 'McPL'; + return true; // Perl - Source + } else if(strcmp(ext, "plt")) { + gType = 'HPGL'; + gCreator = 'GKON'; + return true; // HP - GL/2 + } else if(strcmp(ext, "pm3")) { + gType = 'ALB3'; + gCreator = 'ALD3'; + return true; // PageMaker - 3 + } else if(strcmp(ext, "pm4")) { + gType = 'ALB4'; + gCreator = 'ALD4'; + return true; // PageMaker - 4 + } else if(strcmp(ext, "pm5")) { + gType = 'ALB5'; + gCreator = 'ALD5'; + return true; // PageMaker - 5 + } else if(strcmp(ext, "pm")) { + gType = 'PMpm'; + gCreator = 'GKON'; + return true; // Bitmap - from + } else if(strcmp(ext, "png")) { + gType = 'PNG '; + gCreator = 'ogle'; + return true; // Portable - Network + } else if(strcmp(ext, "pntg")) { + gType = 'PNTG'; + gCreator = 'ogle'; + return true; // Macintosh - Painting + } else if(strcmp(ext, "ppd")) { + gType = 'TEXT'; + gCreator = 'ALD5'; + return true; // Printer - Description + } else if(strcmp(ext, "ppm")) { + gType = 'PPGM'; + gCreator = 'GKON'; + return true; // Portable - Pixmap + } else if(strcmp(ext, "prn")) { + gType = 'TEXT'; + gCreator = 'R*ch'; + return true; // Printer - Output + } else if(strcmp(ext, "psd")) { + gType = '8BPS'; + gCreator = '8BIM'; + return true; // PhotoShop - Document + } else if(strcmp(ext, "ps")) { + gType = 'TEXT'; + gCreator = 'vgrd'; + return true; // PostScript - LaserWriter + } else if(strcmp(ext, "pt4")) { + gType = 'ALT4'; + gCreator = 'ALD4'; + return true; // PageMaker - 4 + } else if(strcmp(ext, "pt5")) { + gType = 'ALT5'; + gCreator = 'ALD5'; + return true; // PageMaker - 5 + } else if(strcmp(ext, "p")) { + gType = 'TEXT'; + gCreator = 'CWIE'; + return true; // Pascal - Source + } else if(strcmp(ext, "pxr")) { + gType = 'PXR '; + gCreator = '8BIM'; + return true; // Pixar - Image + } else if(strcmp(ext, "qdv")) { + gType = 'QDVf'; + gCreator = 'GKON'; + return true; // QDV - image + } else if(strcmp(ext, "qt")) { + gType = 'MooV'; + gCreator = 'TVOD'; + return true; // QuickTime - Movie + } else if(strcmp(ext, "qxd")) { + gType = 'XDOC'; + gCreator = 'XPR3'; + return true; // QuarkXpress - Document + } else if(strcmp(ext, "qxt")) { + gType = 'XTMP'; + gCreator = 'XPR3'; + return true; // QuarkXpress - Template + } else if(strcmp(ext, "raw")) { + gType = 'rodh'; + gCreator = 'ddsk'; + return true; // Apple - raw + } else if(strcmp(ext, "#raw")) { + gType = 'BINA'; + gCreator = 'GKON'; + return true; // Raw - Image + } else if(strcmp(ext, "readme")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // Text - Readme + } else if(strcmp(ext, "rgba")) { + gType = 'SGI '; + gCreator = 'GKON'; + return true; // SGI - Image + } else if(strcmp(ext, "rgb")) { + gType = 'SGI '; + gCreator = 'GKON'; + return true; // SGI - Image + } else if(strcmp(ext, "rib")) { + gType = 'TEXT'; + gCreator = 'RINI'; + return true; // Renderman - 3D + } else if(strcmp(ext, "rif")) { + gType = 'RIFF'; + gCreator = 'GKON'; + return true; // RIFF - Graphic + } else if(strcmp(ext, "rle")) { + gType = 'RLE '; + gCreator = 'GKON'; + return true; // RLE - image + } else if(strcmp(ext, "rme")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // Text - Readme + } else if(strcmp(ext, "rpl")) { + gType = 'FRL!'; + gCreator = 'REP!'; + return true; // Replica - Document + } else if(strcmp(ext, "rsc")) { + gType = 'rsrc'; + gCreator = 'RSED'; + return true; // Resource - File + } else if(strcmp(ext, "rsrc")) { + gType = 'rsrc'; + gCreator = 'RSED'; + return true; // Resource - File + } else if(strcmp(ext, "rtf")) { + gType = 'TEXT'; + gCreator = 'MSWD'; + return true; // Rich - Text + } else if(strcmp(ext, "rtx")) { + gType = 'TEXT'; + gCreator = 'R*ch'; + return true; // Rich - Text + } else if(strcmp(ext, "s3m")) { + gType = 'S3M '; + gCreator = 'SNPL'; + return true; // ScreamTracker - 3 + } else if(strcmp(ext, "scc")) { + gType = 'MSX '; + gCreator = 'GKON'; + return true; // MSX - pitcure + } else if(strcmp(ext, "scg")) { + gType = 'RIX3'; + gCreator = 'GKON'; + return true; // ColoRIX - GraphicConverter + } else if(strcmp(ext, "sci")) { + gType = 'RIX3'; + gCreator = 'GKON'; + return true; // ColoRIX - GraphicConverter + } else if(strcmp(ext, "scp")) { + gType = 'RIX3'; + gCreator = 'GKON'; + return true; // ColoRIX - GraphicConverter + } else if(strcmp(ext, "scr")) { + gType = 'RIX3'; + gCreator = 'GKON'; + return true; // ColoRIX - GraphicConverter + } else if(strcmp(ext, "scu")) { + gType = 'RIX3'; + gCreator = 'GKON'; + return true; // ColoRIX - GraphicConverter + } else if(strcmp(ext, "sea")) { + gType = 'APPL'; + gCreator = '????'; + return true; // Self-Extracting - Archive + } else if(strcmp(ext, "sf")) { + gType = 'IRCM'; + gCreator = 'SDHK'; + return true; // IRCAM - Sound + } else if(strcmp(ext, "sgi")) { + gType = '.SGI'; + gCreator = 'ogle'; + return true; // SGI - Image + } else if(strcmp(ext, "shar")) { + gType = 'TEXT'; + gCreator = 'UnSh'; + return true; // Unix - Shell + } else if(strcmp(ext, "sha")) { + gType = 'TEXT'; + gCreator = 'UnSh'; + return true; // Unix - Shell + } else if(strcmp(ext, "shp")) { + gType = 'SHPp'; + gCreator = 'GKON'; + return true; // Printmaster - Icon + } else if(strcmp(ext, "sithqx")) { + gType = 'TEXT'; + gCreator = 'SITx'; + return true; // BinHexed - StuffIt + } else if(strcmp(ext, "sit")) { + gType = 'SIT!'; + gCreator = 'SITx'; + return true; // StuffIt - 1.5.1 + } else if(strcmp(ext, "six")) { + gType = 'SIXE'; + gCreator = 'GKON'; + return true; // SIXEL - image + } else if(strcmp(ext, "slk")) { + gType = 'TEXT'; + gCreator = 'XCEL'; + return true; // SYLK - Spreadsheet + } else if(strcmp(ext, "snd")) { + gType = 'BINA'; + gCreator = 'SCPL'; + return true; // Sound - of + } else if(strcmp(ext, "spc")) { + gType = 'Spec'; + gCreator = 'GKON'; + return true; // Atari - Spectrum + } else if(strcmp(ext, "sr")) { + gType = 'SUNn'; + gCreator = 'GKON'; + return true; // Sun - Raster + } else if(strcmp(ext, "sty")) { + gType = 'TEXT'; + gCreator = '*TEX'; + return true; // TeX - Style + } else if(strcmp(ext, "sun")) { + gType = 'SUNn'; + gCreator = 'GKON'; + return true; // Sun - Raster + } else if(strcmp(ext, "sup")) { + gType = 'SCRN'; + gCreator = 'GKON'; + return true; // StartupScreen - GraphicConverter + } else if(strcmp(ext, "svx")) { + gType = '8SVX'; + gCreator = 'SCPL'; + return true; // Amiga - IFF + } else if(strcmp(ext, "swf")) { + gType = 'SWFL'; + gCreator = 'SWF2'; + return true; // Flash - Macromedia + } else if(strcmp(ext, "syk")) { + gType = 'TEXT'; + gCreator = 'XCEL'; + return true; // SYLK - Spreadsheet + } else if(strcmp(ext, "sylk")) { + gType = 'TEXT'; + gCreator = 'XCEL'; + return true; // SYLK - Spreadsheet + } else if(strcmp(ext, "targa")) { + gType = 'TPIC'; + gCreator = 'GKON'; + return true; // Truevision - Image + } else if(strcmp(ext, "tar")) { + gType = 'TARF'; + gCreator = 'SITx'; + return true; // Unix - Tape + } else if(strcmp(ext, "taz")) { + gType = 'ZIVU'; + gCreator = 'SITx'; + return true; // Compressed - Tape + } else if(strcmp(ext, "texinfo")) { + gType = 'TEXT'; + gCreator = 'OTEX'; + return true; // TeX - Document + } else if(strcmp(ext, "texi")) { + gType = 'TEXT'; + gCreator = 'OTEX'; + return true; // TeX - Document + } else if(strcmp(ext, "tex")) { + gType = 'TEXT'; + gCreator = 'OTEX'; + return true; // TeX - Document + } else if(strcmp(ext, "text")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // ASCII - Text + } else if(strcmp(ext, "tga")) { + gType = 'TPIC'; + gCreator = 'GKON'; + return true; // Truevision - Image + } else if(strcmp(ext, "tgz")) { + gType = 'Gzip'; + gCreator = 'SITx'; + return true; // Gnu - ZIPed + } else if(strcmp(ext, "tiff")) { + gType = 'TIFF'; + gCreator = 'ogle'; + return true; // TIFF - Picture + } else if(strcmp(ext, "tif")) { + gType = 'TIFF'; + gCreator = 'ogle'; + return true; // TIFF - Picture + } else if(strcmp(ext, "tny")) { + gType = 'TINY'; + gCreator = 'GKON'; + return true; // Atari - TINY + } else if(strcmp(ext, "tsv")) { + gType = 'TEXT'; + gCreator = 'XCEL'; + return true; // Tab - Separated + } else if(strcmp(ext, "tx8")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // 8-bit - ASCII + } else if(strcmp(ext, "txt")) { + gType = 'TEXT'; + gCreator = 'ttxt'; + return true; // ASCII - Text + } else if(strcmp(ext, "ul")) { + gType = 'ULAW'; + gCreator = 'TVOD'; + return true; // Mu-Law - Sound + } else if(strcmp(ext, "url")) { + gType = 'AURL'; + gCreator = 'Arch'; + return true; // URL - Bookmark + } else if(strcmp(ext, "uue")) { + gType = 'TEXT'; + gCreator = 'SITx'; + return true; // UUEncode - StuffIt + } else if(strcmp(ext, "uu")) { + gType = 'TEXT'; + gCreator = 'SITx'; + return true; // UUEncode - StuffIt + } else if(strcmp(ext, "vff")) { + gType = 'VFFf'; + gCreator = 'GKON'; + return true; // DESR - VFF + } else if(strcmp(ext, "vga")) { + gType = 'BMPp'; + gCreator = 'ogle'; + return true; // OS/2 - Bitmap + } else if(strcmp(ext, "voc")) { + gType = 'VOC '; + gCreator = 'SCPL'; + return true; // VOC - Sound + } else if(strcmp(ext, "vpb")) { + gType = 'VPB '; + gCreator = 'GKON'; + return true; // VPB - QUANTEL + } else if(strcmp(ext, "w51")) { + gType = '.WP5'; + gCreator = 'WPC2'; + return true; // WordPerfect - PC + } else if(strcmp(ext, "wav")) { + gType = 'WAVE'; + gCreator = 'TVOD'; + return true; // Windows - WAV + } else if(strcmp(ext, "wbmp")) { + gType = 'WBMP'; + gCreator = 'GKON'; + return true; // WBMP - GraphicConverter + } else if(strcmp(ext, "wk1")) { + gType = 'XLBN'; + gCreator = 'XCEL'; + return true; // Lotus - Spreadsheet + } else if(strcmp(ext, "wks")) { + gType = 'XLBN'; + gCreator = 'XCEL'; + return true; // Lotus - Spreadsheet + } else if(strcmp(ext, "wmf")) { + gType = 'WMF '; + gCreator = 'GKON'; + return true; // Windows - Metafile + } else if(strcmp(ext, "wp4")) { + gType = '.WP4'; + gCreator = 'WPC2'; + return true; // WordPerfect - PC + } else if(strcmp(ext, "wp5")) { + gType = '.WP5'; + gCreator = 'WPC2'; + return true; // WordPerfect - PC + } else if(strcmp(ext, "wp6")) { + gType = '.WP6'; + gCreator = 'WPC2'; + return true; // WordPerfect - PC + } else if(strcmp(ext, "wpg")) { + gType = 'WPGf'; + gCreator = 'GKON'; + return true; // WordPerfect - Graphic + } else if(strcmp(ext, "wpm")) { + gType = 'WPD1'; + gCreator = 'WPC2'; + return true; // WordPerfect - Mac + } else if(strcmp(ext, "wp")) { + gType = '.WP5'; + gCreator = 'WPC2'; + return true; // WordPerfect - PC + } else if(strcmp(ext, "wri")) { + gType = 'WDBN'; + gCreator = 'MSWD'; + return true; // MS - Write/Windows + } else if(strcmp(ext, "wve")) { + gType = 'BINA'; + gCreator = 'SCPL'; + return true; // PSION - sound + } else if(strcmp(ext, "x10")) { + gType = 'XWDd'; + gCreator = 'GKON'; + return true; // X-Windows - Dump + } else if(strcmp(ext, "x11")) { + gType = 'XWDd'; + gCreator = 'GKON'; + return true; // X-Windows - Dump + } else if(strcmp(ext, "xbm")) { + gType = 'XBM '; + gCreator = 'GKON'; + return true; // X-Windows - Bitmap + } else if(strcmp(ext, "x-face")) { + gType = 'TEXT'; + gCreator = 'GKON'; + return true; // X-Face - GraphicConverter + } else if(strcmp(ext, "xlc")) { + gType = 'XLC '; + gCreator = 'XCEL'; + return true; // Excel - Chart + } else if(strcmp(ext, "xlm")) { + gType = 'XLM '; + gCreator = 'XCEL'; + return true; // Excel - Macro + } else if(strcmp(ext, "xls")) { + gType = 'XLS '; + gCreator = 'XCEL'; + return true; // Excel - Spreadsheet + } else if(strcmp(ext, "xlw")) { + gType = 'XLW '; + gCreator = 'XCEL'; + return true; // Excel - Workspace + } else if(strcmp(ext, "xl")) { + gType = 'XLS '; + gCreator = 'XCEL'; + return true; // Excel - Spreadsheet + } else if(strcmp(ext, "xm")) { + gType = 'XM '; + gCreator = 'SNPL'; + return true; // FastTracker - MOD + } else if(strcmp(ext, "xpm")) { + gType = 'XPM '; + gCreator = 'GKON'; + return true; // X-Windows - Pixmap + } else if(strcmp(ext, "xwd")) { + gType = 'XWDd'; + gCreator = 'GKON'; + return true; // X-Windows - Dump + } else if(strcmp(ext, "zip")) { + gType = 'ZIP '; + gCreator = 'SITx'; + return true; // PC - ZIP + } else if(strcmp(ext, "zoo")) { + gType = 'Zoo '; + gCreator = 'Booz'; + return true; // Zoo - Archive + } else if(strcmp(ext, "Z")) { + gType = 'ZIVU'; + gCreator = 'SITx'; + return true; // Unix - Compress + } + + return false; } --- main.h Thu Nov 9 10:15:33 2023 +++ main.h Thu Nov 9 14:43:35 2023 @@ -28,4 +28,6 @@ Boolean isDsk4(); Boolean isZip(); Boolean isMar(); Boolean isCpt(); -Boolean isDsk_1024(); +Boolean isDsk_1024(); +Boolean CheckFileExt(char *ext); +short strlen(const char *str);