SF.net SVN: geany:[5946] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Thu Sep 22 15:53:14 UTC 2011


Revision: 5946
          http://geany.svn.sourceforge.net/geany/?rev=5946&view=rev
Author:   ntrel
Date:     2011-09-22 15:53:14 +0000 (Thu, 22 Sep 2011)
Log Message:
-----------
Fix \0 char in format string - save as dialog filter bug.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/win32.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2011-09-22 12:05:05 UTC (rev 5945)
+++ trunk/ChangeLog	2011-09-22 15:53:14 UTC (rev 5946)
@@ -2,6 +2,8 @@
 
  * src/stash.c, src/keyfile.c, src/keyfile.h, src/ui_utils.c:
    Add configuration_add_various_pref_group().
+ * src/win32.c:
+   Fix \0 char in format string - save as dialog filter bug.
 
 
 2011-09-20  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>

Modified: trunk/src/win32.c
===================================================================
--- trunk/src/win32.c	2011-09-22 12:05:05 UTC (rev 5945)
+++ trunk/src/win32.c	2011-09-22 15:53:14 UTC (rev 5946)
@@ -121,11 +121,8 @@
 
 	/* replace all "\t"s by \0 */
 	len = strlen(string);
-	for (i = 0; i < len; i++)
-	{
-		if (string[i] == '\t')
-			string[i] = '\0';
-	}
+	g_strdelimit(string, "\t", '\0');
+	g_assert(string[len - 1] == 0x0);
 	MultiByteToWideChar(CP_UTF8, 0, string, len, title, sizeof(title));
 	g_free(string);
 
@@ -140,9 +137,11 @@
 	gchar *filter;
 
 	/* create meta file filter "All files" */
-	filter = g_strdup_printf("%s\0*\0", _("All files"));
+	filter = g_strdup_printf("%s\t*\t", _("All files"));
 
-	len = strlen(_("All files")) + 3;
+	len = strlen(filter);
+	g_strdelimit(filter, "\t", '\0');
+	g_assert(filter[len - 1] == 0x0);
 	MultiByteToWideChar(CP_UTF8, 0, filter, len, title, sizeof(title));
 	g_free(filter);
 
@@ -153,7 +152,7 @@
 static wchar_t *get_filters(gboolean project_files)
 {
 	gchar *string;
-	gint i, len;
+	gint len;
 	static wchar_t title[1024];
 
 	if (project_files)
@@ -171,10 +170,8 @@
 
 	/* replace all "\t"s by \0 */
 	len = strlen(string);
-	for (i = 0; i < len; i++)
-	{
-		if (string[i] == '\t') string[i] = '\0';
-	}
+	g_strdelimit(string, "\t", '\0');
+	g_assert(string[len - 1] == 0x0);
 	MultiByteToWideChar(CP_UTF8, 0, string, len, title, sizeof(title));
 	g_free(string);
 

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