Revision: 1263 http://svn.sourceforge.net/geany/?rev=1263&view=rev Author: ntrel Date: 2007-02-08 08:26:45 -0800 (Thu, 08 Feb 2007)
Log Message: ----------- Add *.rej as a Diff filename pattern. Add utils_strv_new() to duplicate a va_list of strings.
Modified Paths: -------------- trunk/ChangeLog trunk/data/filetype_extensions.conf trunk/src/filetypes.c trunk/src/utils.c trunk/src/utils.h
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-02-08 16:22:23 UTC (rev 1262) +++ trunk/ChangeLog 2007-02-08 16:26:45 UTC (rev 1263) @@ -1,7 +1,15 @@ +2007-02-08 Nick Treleaven nick.treleaven@btinternet.com + + * src/utils.c, src/utils.h, src/filetypes.c, + data/filetype_extensions.conf: + Add *.rej as a Diff filename pattern. + Add utils_strv_new() to duplicate a va_list of strings. + + 2007-02-07 Frank Lanitz frank@frank.uvena.de
- * data/pascal.tags, THANKS: Fixed a wrong autocompletion. Thanks to - Dirk Weber for reporting. + * data/pascal.tags, THANKS: Fixed a wrong autocompletion. Thanks to + Dirk Weber for reporting.
2007-02-06 Nick Treleaven nick.treleaven@btinternet.com
Modified: trunk/data/filetype_extensions.conf =================================================================== --- trunk/data/filetype_extensions.conf 2007-02-08 16:22:23 UTC (rev 1262) +++ trunk/data/filetype_extensions.conf 2007-02-08 16:26:45 UTC (rev 1263) @@ -28,6 +28,6 @@ LaTeX=*.tex;*.sty;*.idx; O-Matrix=*.oms; VHDL=*.vhd;*.vhdl; -Diff=*.diff;*.patch; +Diff=*.diff;*.patch;*.rej; Conf=*.conf;*.ini;config;*rc;*.cfg; None=*;
Modified: trunk/src/filetypes.c =================================================================== --- trunk/src/filetypes.c 2007-02-08 16:22:23 UTC (rev 1262) +++ trunk/src/filetypes.c 2007-02-08 16:26:45 UTC (rev 1263) @@ -497,11 +497,8 @@ filetypes[GEANY_FILETYPES_MAKE]->has_tags = TRUE; filetypes[GEANY_FILETYPES_MAKE]->title = g_strdup(_("Makefile")); filetypes[GEANY_FILETYPES_MAKE]->extension = g_strdup("mak"); - { - gchar *patterns[] = {"*.mak", "*.mk", "GNUmakefile", "makefile", "Makefile", - "makefile.*", "Makefile.*", NULL}; - filetypes[GEANY_FILETYPES_MAKE]->pattern = g_strdupv(patterns); - } + filetypes[GEANY_FILETYPES_MAKE]->pattern = utils_strv_new( + "*.mak", "*.mk", "GNUmakefile", "makefile", "Makefile", "makefile.*", "Makefile.*", NULL); filetypes[GEANY_FILETYPES_MAKE]->style_func_ptr = styleset_makefile; filetypes[GEANY_FILETYPES_MAKE]->comment_open = g_strdup("#"); filetypes[GEANY_FILETYPES_MAKE]->comment_close = NULL; @@ -518,10 +515,8 @@ filetypes[GEANY_FILETYPES_XML]->has_tags = FALSE; filetypes[GEANY_FILETYPES_XML]->title = g_strdup(_("XML source file")); filetypes[GEANY_FILETYPES_XML]->extension = g_strdup("xml"); - { - gchar *patterns[] = {"*.xml", "*.sgml", "*.xsl", "*.xslt", "*.xsd", NULL}; - filetypes[GEANY_FILETYPES_XML]->pattern = g_strdupv(patterns); - } + filetypes[GEANY_FILETYPES_XML]->pattern = utils_strv_new( + "*.xml", "*.sgml", "*.xsl", "*.xslt", "*.xsd", NULL); filetypes[GEANY_FILETYPES_XML]->style_func_ptr = styleset_xml; filetypes[GEANY_FILETYPES_XML]->comment_open = g_strdup("<!--"); filetypes[GEANY_FILETYPES_XML]->comment_close = g_strdup("-->"); @@ -557,11 +552,8 @@ filetypes[GEANY_FILETYPES_HTML]->has_tags = FALSE; filetypes[GEANY_FILETYPES_HTML]->title = g_strdup(_("HTML source file")); filetypes[GEANY_FILETYPES_HTML]->extension = g_strdup("html"); - { - gchar *patterns[] = {"*.htm", "*.html", "*.shtml", "*.hta", "*.htd", "*.htt", - "*.cfm", NULL}; - filetypes[GEANY_FILETYPES_HTML]->pattern = g_strdupv(patterns); - } + filetypes[GEANY_FILETYPES_HTML]->pattern = utils_strv_new( + "*.htm", "*.html", "*.shtml", "*.hta", "*.htd", "*.htt", "*.cfm", NULL); filetypes[GEANY_FILETYPES_HTML]->style_func_ptr = styleset_html; filetypes[GEANY_FILETYPES_HTML]->comment_open = g_strdup("<!--"); filetypes[GEANY_FILETYPES_HTML]->comment_close = g_strdup("-->"); @@ -676,10 +668,7 @@ filetypes[GEANY_FILETYPES_DIFF]->has_tags = TRUE; filetypes[GEANY_FILETYPES_DIFF]->title = g_strdup(_("Diff file")); filetypes[GEANY_FILETYPES_DIFF]->extension = g_strdup("diff"); - filetypes[GEANY_FILETYPES_DIFF]->pattern = g_new0(gchar*, 3); - filetypes[GEANY_FILETYPES_DIFF]->pattern[0] = g_strdup("*.diff"); - filetypes[GEANY_FILETYPES_DIFF]->pattern[1] = g_strdup("*.patch"); - filetypes[GEANY_FILETYPES_DIFF]->pattern[2] = NULL; + filetypes[GEANY_FILETYPES_DIFF]->pattern = utils_strv_new("*.diff", "*.patch", "*.rej", NULL); filetypes[GEANY_FILETYPES_DIFF]->style_func_ptr = styleset_diff; filetypes[GEANY_FILETYPES_DIFF]->comment_open = g_strdup("#"); filetypes[GEANY_FILETYPES_DIFF]->comment_close = NULL;
Modified: trunk/src/utils.c =================================================================== --- trunk/src/utils.c 2007-02-08 16:22:23 UTC (rev 1262) +++ trunk/src/utils.c 2007-02-08 16:26:45 UTC (rev 1263) @@ -1469,6 +1469,42 @@ }
+/* creates a string array deep copy of a series of non-NULL strings. + * the first argument is nothing special. + * the list must be ended with NULL. + * if first is NULL, NULL is returned. */ +gchar **utils_strv_new(gchar *first, ...) +{ + gsize strvlen, i; + va_list args; + gchar *str; + gchar **strv; + + if (first == NULL) + return NULL; + + strvlen = 1; // for first argument + + // count other arguments + va_start(args, first); + for (; va_arg(args, gchar*) != NULL; strvlen++); + va_end(args); + + strv = g_new(gchar*, strvlen + 1); // +1 for NULL terminator + strv[0] = g_strdup(first); + + va_start(args, first); + for (i = 1; str = va_arg(args, gchar*), str != NULL; i++) + { + strv[i] = g_strdup(str); + } + va_end(args); + + strv[i] = NULL; + return strv; +} + + gint utils_mkdir(const gchar *path) { if (path == NULL || strlen(path) == 0)
Modified: trunk/src/utils.h =================================================================== --- trunk/src/utils.h 2007-02-08 16:22:23 UTC (rev 1262) +++ trunk/src/utils.h 2007-02-08 16:26:45 UTC (rev 1263) @@ -154,6 +154,12 @@ * it will also be freed, the list should be ended with NULL */ void utils_free_pointers(gpointer first, ...);
+/* creates a string array deep copy of a series of non-NULL strings. + * the first argument is nothing special. + * the list must be ended with NULL. + * if first is NULL, NULL is returned. */ +gchar **utils_strv_new(gchar *first, ...); + gint utils_mkdir(const gchar *path);
#endif
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.