Hmm... tell me... how did you make this patch?
I just looked at it and wondered that it was apparently already applied. But that is not the case!
Your patch file says it is against revision 1563, but the file uses operator<< since revision 1340 (the path was modified in 1557).
Revision 1563 is well after 1557, so how can this be? Where do you take that Printf from?
D:\desktop>svn diff -r1556:HEAD svn://svn.berlios.de/codeblocks/trunk/src/sdk/filegroupsandmasks.cpp
Index: filegroupsandmasks.cpp
===================================================================
--- filegroupsandmasks.cpp (revision 1556)
+++ filegroupsandmasks.cpp (revision 1578)
@@ -72,10 +72,10 @@
{
FileGroups* fg = m_Groups[i];
wxString key;
- key << _("group") << i << _T("/") << _T("name");
+ key << _("/file_groups/group") << i << _T("/") << _T("name");
conf->Write(key, fg->groupName);
key.Clear();
- key << _("group") << i << _T("/") << _T("mask");
+ key << _("/file_groups/group") << i << _T("/") << _T("mask");
conf->Write(key, GetStringFromArray(fg->fileMasks, _T(";")));
}
}
why not just use an int2s function and forget about which part doesn't work?
Probably the reason I didn't use an int2s() function is I didn't think about it.
However, looking back on it, take a look at this line in filegroupsandmasks.cpp:75
Both of these ways should work in the Unicode version. One fixes the problem with int2s() and one with Printf(). I greatly prefer the Printf() in this case because it is immediately obvious exactly the type of string you are creating. The longer one with int2s() requires you to "build" it in your head so to speak.
key << _("/file_groups/group") << int2s(i) << _T("/") << _T("name");
key.Printf(_T("/file_groups/group%d/name"), i);