SF.net SVN: geany: [1263] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Thu Feb 8 16:26:45 UTC 2007


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 at 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 at 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 at 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.



More information about the Commits mailing list