[Openvas-commits] r7908 - in trunk/openvas-libraries: . base
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Thu Jun 3 10:55:13 CEST 2010
Author: felix
Date: 2010-06-03 10:55:07 +0200 (Thu, 03 Jun 2010)
New Revision: 7908
Modified:
trunk/openvas-libraries/ChangeLog
trunk/openvas-libraries/base/openvas_string.c
trunk/openvas-libraries/base/openvas_string.h
Log:
* base/openvas_string.c (openvas_string_flatten_string_list): New
utility function.
* base/openvas_string.h (openvas_string_flatten_string_list): Added
proto.
Modified: trunk/openvas-libraries/ChangeLog
===================================================================
--- trunk/openvas-libraries/ChangeLog 2010-06-03 08:15:29 UTC (rev 7907)
+++ trunk/openvas-libraries/ChangeLog 2010-06-03 08:55:07 UTC (rev 7908)
@@ -1,5 +1,13 @@
2010-06-03 Felix Wolfsteller <felix.wolfsteller at greenbone.net>
+ * base/openvas_string.c (openvas_string_flatten_string_list): New
+ utility function.
+
+ * base/openvas_string.h (openvas_string_flatten_string_list): Added
+ proto.
+
+2010-06-03 Felix Wolfsteller <felix.wolfsteller at greenbone.net>
+
Added module to retrieve resources from sources. In the current
implementation this means retrieve strings from an ADS/LDAP- directory.
Implementation was done aiming at these strings becoming target
Modified: trunk/openvas-libraries/base/openvas_string.c
===================================================================
--- trunk/openvas-libraries/base/openvas_string.c 2010-06-03 08:15:29 UTC (rev 7907)
+++ trunk/openvas-libraries/base/openvas_string.c 2010-06-03 08:55:07 UTC (rev 7908)
@@ -230,3 +230,31 @@
}
return FALSE;
}
+
+/**
+ * @brief Concatenates strings in a GSList, optionally separating these with
+ * @brief a defined string.
+ *
+ * @param[in] string_list List of strings, if NULL, return empty string.
+ * @param[in] separator If not NULL, string to put between each two strings
+ * in \ref string_list.
+ *
+ * @return Concatenation of strings in \ref string_list, empty string if list
+ * is empty.
+ */
+gchar*
+openvas_string_flatten_string_list (GSList* string_list, const gchar* separator)
+{
+ /* This is an inefficient solution. Improvements can be done by
+ * precalculating the length, or use GString or the like. */
+ gchar* result = "";
+ GSList* it = string_list;
+ while (it)
+ {
+ openvas_append_string (&result, it->data);
+ if (separator)
+ openvas_append_string (&result, separator);
+ it = g_slist_next (it);
+ }
+ return result;
+}
Modified: trunk/openvas-libraries/base/openvas_string.h
===================================================================
--- trunk/openvas-libraries/base/openvas_string.h 2010-06-03 08:15:29 UTC (rev 7907)
+++ trunk/openvas-libraries/base/openvas_string.h 2010-06-03 08:55:07 UTC (rev 7908)
@@ -43,4 +43,7 @@
gboolean openvas_strv_contains_str (gchar ** strv, const gchar * str);
+gchar* openvas_string_flatten_string_list (GSList* string_list,
+ const gchar* separator);
+
#endif /* not _OPENVAS_LIBRARIES_STRING_H */
More information about the Openvas-commits
mailing list