]> git.sur5r.net Git - cc65/commitdiff
Use the new filetype module
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 30 May 2003 20:50:34 +0000 (20:50 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 30 May 2003 20:50:34 +0000 (20:50 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2182 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/cl65/main.c

index 1ce39cf0d0e5a71a60199175f12898aa9f2f7569..c6654c936236c52ba2c20223d1464a5fc55355e2 100644 (file)
@@ -56,6 +56,7 @@
 /* common */
 #include "attrib.h"
 #include "cmdline.h"
+#include "filetype.h"
 #include "fname.h"
 #include "strbuf.h"
 #include "target.h"
@@ -69,7 +70,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                  Data                                    */
 /*****************************************************************************/
 
 
@@ -95,20 +96,6 @@ static CmdDesc CO65 = { 0, 0, 0, 0, 0, 0, 0 };
 static CmdDesc LD65 = { 0, 0, 0, 0, 0, 0, 0 };
 static CmdDesc GRC  = { 0, 0, 0, 0, 0, 0, 0 };
 
-/* File types */
-enum {
-    FILETYPE_UNKNOWN,
-    FILETYPE_C,
-    FILETYPE_ASM,
-    FILETYPE_OBJ,
-    FILETYPE_LIB,
-    FILETYPE_GR,               /* GEOS resource file */
-    FILETYPE_O65                /* O65 object file */
-};
-
-/* Default file type, used if type unknown */
-static unsigned DefaultFileType = FILETYPE_UNKNOWN;
-
 /* Variables controlling the steps we're doing */
 static int DontLink    = 0;
 static int DontAssemble = 0;
@@ -154,59 +141,6 @@ static char* TargetLib     = 0;
 
 
 
-/*****************************************************************************/
-/*                          Determine a file type                           */
-/*****************************************************************************/
-
-
-
-static unsigned GetFileType (const char* File)
-/* Determine the type of the given file */
-{
-    /* Table mapping extensions to file types */
-    static const struct {
-       const char*     Ext;
-       unsigned        Type;
-    } FileTypes [] = {
-       {   ".c",       FILETYPE_C      },
-       {   ".s",       FILETYPE_ASM    },
-       {   ".asm",     FILETYPE_ASM    },
-       {   ".a65",     FILETYPE_ASM    },
-       {   ".o",       FILETYPE_OBJ    },
-       {   ".obj",     FILETYPE_OBJ    },
-       {   ".a",       FILETYPE_LIB    },
-       {   ".lib",     FILETYPE_LIB    },
-       {   ".grc",     FILETYPE_GR     },
-        {   ".o65",     FILETYPE_O65    },
-        {   ".emd",     FILETYPE_O65    },
-        {   ".joy",     FILETYPE_O65    },
-        {   ".tgi",     FILETYPE_O65    },
-    };
-
-    unsigned I;
-
-    /* Determine the file type by the extension */
-    const char* Ext = FindExt (File);
-
-    /* Do we have an extension? */
-    if (Ext == 0) {
-       return DefaultFileType;
-    }
-
-    /* Check for known extensions */
-    for (I = 0; I < sizeof (FileTypes) / sizeof (FileTypes [0]); ++I) {
-       if (strcmp (FileTypes [I].Ext, Ext) == 0) {
-           /* Found */
-           return FileTypes [I].Type;
-       }
-    }
-
-    /* Not found, return the default */
-    return DefaultFileType;
-}
-
-
-
 /*****************************************************************************/
 /*                       Command structure handling                         */
 /*****************************************************************************/