nulleric
/Fix-a-Fork
/amendments
/23
Fixed issue with strlen and checking non-printable chars.
Updated file ext list
eric made amendment 23 about 1 year ago
--- main.c Fri Nov 10 10:11:23 2023
+++ main.c Fri Nov 10 11:22:49 2023
@@ -171,19 +171,19 @@ void main()
Boolean isBinHex4()
{
// FixMe: Magic can be any line in the first 8k of the file.
- return magicCheck("BinHex 4.0", 34, 'BINA', 'SITx');
+ return magicCheck("BinHex 4.0", 10, 34, 'BINA', 'SITx');
}
Boolean isSit15()
{
short stuffitVersion = 0;
- if(magicCheck("SIT!", 0, 'SIT!', 'SIT!'))
+ if(magicCheck("SIT!", 4, 0, 'SIT!', 'SIT!'))
{
gType = 0;
gCreator = 0;
// 0x01 for 1.5.x, 0x02 for 1.6-4.5
stuffitVersion = gBuf[14];
- return (stuffitVersion == 0x01 || stuffitVersion == 0x02) && magicCheck("rLau", 10, 'SIT!', 'SIT!');
+ return (stuffitVersion == 0x01 || stuffitVersion == 0x02) && magicCheck("rLau", 4, 10, 'SIT!', 'SIT!');
}
return false;
}
@@ -191,19 +191,19 @@ Boolean isSit15()
Boolean isSit5()
{
short stuffitVersion = gBuf[82]; // 0x05
- return (stuffitVersion == 0x05 && magicCheck("StuffIt (c)1997", 0, 'SITD', 'SIT!'));
+ return (stuffitVersion == 0x05 && magicCheck("StuffIt (c)1997", 15, 0, 'SITD', 'SIT!'));
}
Boolean isBinSit()
{
short stuffitVersion = 0;
- if(magicCheck("SIT!", 0 + 128, 'SIT!', 'SIT!'))
+ if(magicCheck("SIT!", 4, 0 + 128, 'SIT!', 'SIT!'))
{
gType = 0;
gCreator = 0;
// 0x01 for 1.5.x, 0x02 for 1.6-4.5
stuffitVersion = gBuf[14 + 128];
- return (stuffitVersion == 0x01 || stuffitVersion == 0x02) && magicCheck("rLau", 10 + 128, 'BINA', 'SITx');
+ return (stuffitVersion == 0x01 || stuffitVersion == 0x02) && magicCheck("rLau", 4, 10 + 128, 'BINA', 'SITx');
}
return false;
}
@@ -211,29 +211,29 @@ Boolean isBinSit()
Boolean isDsk4()
{
char magic[] = "\1\0";
- return magicCheck(magic, 52, 'dImg', 'dCpy');
+ return magicCheck(magic, 2, 52, 'dImg', 'dCpy');
}
// Disk Copy 6
Boolean isDsk_1024()
{
- return magicCheck("BD", 0, 'DDim', 'ddsk');
+ return magicCheck("BD", 2, 0, 'DDim', 'ddsk');
}
// Very loose check, do last.
Boolean isCpt()
{
char magic[] = "\1\1";
- return magicCheck(magic, 0, 'PACT', 'CPCT');
+ return magicCheck(magic, 2, 0, 'PACT', 'CPCT');
}
Boolean isMar()
{
- return magicCheck("MAR", 0, 'MARf', 'MARc');
+ return magicCheck("MAR", 3, 0, 'MARf', 'MARc');
}
Boolean isZip()
{
- return magicCheck("PK", 0, 'ZIP ', 'IZip');
+ return magicCheck("PK", 2, 0, 'ZIP ', 'IZip');
}
short strlen(const char *str)
@@ -255,10 +255,10 @@ Boolean strcmp(const char *lhs, const char *rhs)
return true;
}
-Boolean magicCheck(char *magic, short offset, OSType type, OSType creator)
+Boolean magicCheck(char *magic, short len, short offset, OSType type, OSType creator)
{
short i;
- for(i = 0; i < strlen(magic) - 1; i++)
+ for(i = 0; i < len; i++)
if(gBuf[offset+i] != magic[i])
return false;
gType = type;
@@ -268,1211 +268,302 @@ Boolean magicCheck(char *magic, short offset, OSType t
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, "toast")) {
- gType = 'CDr3';
- gCreator = 'GImg';
- return true; // Roxio - Toast
- } 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
- }
-
+ 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 = 'BINA'; 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, "bz")) { gType = 'Bzp2'; gCreator = 'SITx'; return true; } // BZip2 - StuffIt
+ 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 = 'KAHL'; 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 = 'KAHL'; 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, "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, "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, "toast")) { gType = 'CDr3'; gCreator = 'GImg'; return true; } // CD - Image
+ 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 14:43:35 2023
+++ main.h Fri Nov 10 11:22:24 2023
@@ -19,7 +19,7 @@ pascal OSErr DoOpenDoc(AppleEvent *event, AppleEvent *
// checks
Boolean strcmp(const char *lhs, const char *rhs);
-Boolean magicCheck(char *magic, short offset, OSType type, OSType creator);
+Boolean magicCheck(char *magic, short len, short offset, OSType type, OSType creator);
Boolean isBinHex4();
Boolean isSit5();
Boolean isSit15();