SF.net SVN: geany: [2545] branches/custom-filetypes
ntrel at users.sourceforge.net
ntrel at xxxxx
Thu May 1 14:51:48 UTC 2008
Revision: 2545
http://geany.svn.sourceforge.net/geany/?rev=2545&view=rev
Author: ntrel
Date: 2008-05-01 07:51:47 -0700 (Thu, 01 May 2008)
Log Message:
-----------
Add filetypes_new() to create and initialize a new filetype.
Modified Paths:
--------------
branches/custom-filetypes/ChangeLog
branches/custom-filetypes/src/filetypes.c
Modified: branches/custom-filetypes/ChangeLog
===================================================================
--- branches/custom-filetypes/ChangeLog 2008-05-01 14:30:20 UTC (rev 2544)
+++ branches/custom-filetypes/ChangeLog 2008-05-01 14:51:47 UTC (rev 2545)
@@ -8,6 +8,8 @@
filetype in filetypes_hash until TRUE is returned.
Make filetypes_detect_from_extension() work for all filetypes
in filetypes_hash.
+ * src/filetypes.c:
+ Add filetypes_new() to create and initialize a new filetype.
2008-04-29 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
Modified: branches/custom-filetypes/src/filetypes.c
===================================================================
--- branches/custom-filetypes/src/filetypes.c 2008-05-01 14:30:20 UTC (rev 2544)
+++ branches/custom-filetypes/src/filetypes.c 2008-05-01 14:51:47 UTC (rev 2545)
@@ -50,7 +50,7 @@
static void create_radio_menu_item(GtkWidget *menu, const gchar *label, filetype *ftype);
-static void fill_filetypes(void)
+static void init_builtin_filetypes(void)
{
#define C /* these macros are only to ease navigation */
filetypes[GEANY_FILETYPES_C]->id = GEANY_FILETYPES_C;
@@ -405,17 +405,18 @@
}
-static void create_built_in_filetypes(void)
+/* initialize fields. */
+static filetype *filetypes_new(void)
{
- filetype_id ft_id;
+ filetype *ft = g_new0(filetype, 1);
- for (ft_id = 0; ft_id < GEANY_MAX_BUILT_IN_FILETYPES; ft_id++)
- {
- filetypes[ft_id] = g_new0(filetype, 1);
- filetypes[ft_id]->programs = g_new0(struct build_programs, 1);
- filetypes[ft_id]->actions = g_new0(struct build_actions, 1);
- }
- fill_filetypes();
+/*
+ ft->id = GEANY_FILETYPES_OTHER;
+*/
+ ft->lang = -2; /* no tagmanager parser */
+ ft->programs = g_new0(struct build_programs, 1);
+ ft->actions = g_new0(struct build_actions, 1);
+ return ft;
}
@@ -426,12 +427,18 @@
g_return_if_fail(filetypes_hash == NULL);
- create_built_in_filetypes();
-
filetypes_hash = g_hash_table_new(g_str_hash, g_str_equal);
+ /* Create built-in filetypes */
for (ft_id = 0; ft_id < GEANY_MAX_BUILT_IN_FILETYPES; ft_id++)
{
+ filetypes[ft_id] = filetypes_new();
+ }
+ init_builtin_filetypes();
+
+ /* Add built-in filetypes to the hash */
+ for (ft_id = 0; ft_id < GEANY_MAX_BUILT_IN_FILETYPES; ft_id++)
+ {
filetypes_add(filetypes[ft_id]);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list