Revision: 1263 http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1263&view=re... Author: colombanw Date: 2010-04-21 13:21:51 +0000 (Wed, 21 Apr 2010)
Log Message: ----------- GeanyGenDoc: Move GGD_PTR_ARRAY_FOR() to ggd-utils
Modified Paths: -------------- trunk/geanygendoc/src/ggd-tag-utils.c trunk/geanygendoc/src/ggd-utils.h
Modified: trunk/geanygendoc/src/ggd-tag-utils.c =================================================================== --- trunk/geanygendoc/src/ggd-tag-utils.c 2010-04-20 20:56:12 UTC (rev 1262) +++ trunk/geanygendoc/src/ggd-tag-utils.c 2010-04-21 13:21:51 UTC (rev 1263) @@ -23,28 +23,10 @@ #include <geanyplugin.h> #include <glib.h>
+#include "ggd-utils.h" #include "ggd-plugin.h" /* to access Geany data/funcs */
-/* a `for` header to walk on an GPtrArray - * @array: the array to traverse - * @idx: A guint variable to use as iterator (may be modified) - * @el: a TMTag pointer to fill with the current element in the array - * - * usage: - * - * guint i; - * TMTag *tag; - * - * PTR_ARRAY_FOR (ptr_array, i, tag) { - * // use @tag here... - * } - */ -#define PTR_ARRAY_FOR(array, idx, el) \ - for ((idx) = 0; ((el) = g_ptr_array_index ((array), (idx)), \ - (idx) < (array)->len); (idx)++) - - /* Compare function for g_ptr_array_sort() to compare two TMTag by their * lines */ static gint @@ -88,7 +70,7 @@
g_return_val_if_fail (tags != NULL, NULL);
- PTR_ARRAY_FOR (tags, i, el) { + GGD_PTR_ARRAY_FOR (tags, i, el) { if (! (el->type & tm_tag_file_t)) { if (el->atts.entry.line <= line && (! tag || el->atts.entry.line > tag->atts.entry.line)) { @@ -144,7 +126,7 @@ } /*g_debug ("%s: parent_name = %s", G_STRFUNC, parent_name); g_debug ("%s: parent_scope = %s", G_STRFUNC, parent_scope);*/ - PTR_ARRAY_FOR (tags, i, el) { + GGD_PTR_ARRAY_FOR (tags, i, el) { if (! (el->type & tm_tag_file_t) && (utils_str_equal (el->name, parent_name) && utils_str_equal (el->atts.entry.scope, parent_scope))) { @@ -293,7 +275,7 @@ g_return_val_if_fail (tags != NULL, NULL); g_return_val_if_fail (name != NULL, NULL);
- PTR_ARRAY_FOR (tags, i, el) { + GGD_PTR_ARRAY_FOR (tags, i, el) { if (! (el->type & tm_tag_file_t) && utils_str_equal (el->name, name)) { tag = el; @@ -383,7 +365,7 @@ } else { fake_scope = g_strdup (parent->name); } - PTR_ARRAY_FOR (tags, i, el) { + GGD_PTR_ARRAY_FOR (tags, i, el) { if (scope_child_matches (fake_scope, el->atts.entry.scope, depth)) { children = g_list_append (children, el); }
Modified: trunk/geanygendoc/src/ggd-utils.h =================================================================== --- trunk/geanygendoc/src/ggd-utils.h 2010-04-20 20:56:12 UTC (rev 1262) +++ trunk/geanygendoc/src/ggd-utils.h 2010-04-21 13:21:51 UTC (rev 1263) @@ -21,6 +21,7 @@ #define H_GGD_UTILS
#include <glib.h> +#include <geanyplugin.h> /* Geany's utils for some wrappers */
G_BEGIN_DECLS
@@ -38,7 +39,19 @@ GgdPerms perms_req, GError **error);
+/** + * GGD_PTR_ARRAY_FOR: + * @ptr_array: A #GPtrArray + * @idx: A guint variable to use as the index of the current element in the + * array + * @item: A pointer to set to the array's current element + * + * <code>for</code> header to iterate over a #GPtrArray. + */ +#define GGD_PTR_ARRAY_FOR(ptr_array, idx, item) \ + foreach_ptr_array ((item), (idx), (ptr_array))
+ G_END_DECLS
#endif /* guard */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.