Make use of OSyncList instead of GList, to provide a clean API without
requiring any direct includes of glib.
---
opensync/db/opensync_db.c | 30 +++++++++++++++---------------
opensync/db/opensync_db.h | 4 ++--
2 files changed, 17 insertions(+), 17 deletions(-)
Index: opensync/opensync/db/opensync_db.c
===================================================================
--- opensync.orig/opensync/db/opensync_db.c
+++ opensync/opensync/db/opensync_db.c
@@ -154,22 +154,22 @@ osync_bool osync_db_query(OSyncDB *db, c
}
/**
- * @brief Exectues a SQL query and fill all requested data in a GList.
+ * @brief Exectues a SQL query and fill all requested data in a OSyncList.
* Check error with osync_error_is_set().
*
* @param db Pointer to database struct
* @param query SQL database query
* @param error Pointer to a error struct
- * @return Returns pointer to GList which contains the each result as another GList ptr. Freeing is recommend with osync_db_free_list()
+ * @return Returns pointer to OSyncList which contains the each result as another OSyncList ptr. Freeing is recommend with osync_db_free_list()
*/
-GList *osync_db_query_table(OSyncDB *db, const char *query, OSyncError **error)
+OSyncList *osync_db_query_table(OSyncDB *db, const char *query, OSyncError **error)
{
osync_trace(TRACE_ENTRY, "%s(%p, %s, %p)", __func__, db, query, error);
osync_assert(db);
osync_assert(query);
- GList *table = NULL;
+ OSyncList *table = NULL;
int i, j, column_count = 0;
int numrows = 0, numcolumns = 0;
char **result = NULL;
@@ -187,20 +187,20 @@ GList *osync_db_query_table(OSyncDB *db,
column_count = numcolumns;
for (j=0; j < numrows; j++) {
- GList *row = NULL;
+ OSyncList *row = NULL;
for (i=0; i < numcolumns; i++)
/* speed up - prepend instead of append */
- row = g_list_prepend(row, g_strdup(result[column_count++]));
+ row = osync_list_prepend(row, g_strdup(result[column_count++]));
/* items got prepended, reverse the list again */
- row = g_list_reverse(row);
+ row = osync_list_reverse(row);
/* speed up - prepend instead of append. */
- table = g_list_prepend(table, row);
+ table = osync_list_prepend(table, row);
}
/* items got prepended, reverse the list again */
- table = g_list_reverse(table);
+ table = osync_list_reverse(table);
sqlite3_free_table(result);
@@ -211,18 +211,18 @@ GList *osync_db_query_table(OSyncDB *db,
/**
* @brief Frees the full result of osync_db_query_table().
*
- * @param list Result GList pointer of osync_db_query_table()
+ * @param list Result OSyncList pointer of osync_db_query_table()
*/
-void osync_db_free_list(GList *list) {
+void osync_db_free_list(OSyncList *list) {
osync_trace(TRACE_ENTRY, "%s(%p)", __func__, list);
- GList *row;
+ OSyncList *row;
for (row = list; row; row = row->next) {
- g_list_foreach((GList *) row->data, (GFunc) g_free, NULL);
- g_list_free((GList *) row->data);
+ osync_list_foreach((OSyncList *) row->data, (GFunc) g_free, NULL);
+ osync_list_free((OSyncList *) row->data);
}
- g_list_free(list);
+ osync_list_free(list);
osync_trace(TRACE_EXIT, "%s", __func__);
}
Index: opensync/opensync/db/opensync_db.h
===================================================================
--- opensync.orig/opensync/db/opensync_db.h
+++ opensync/opensync/db/opensync_db.h
@@ -37,8 +37,8 @@ OSYNC_EXPORT int osync_db_count(OSyncDB
OSYNC_EXPORT char *osync_db_query_single_string(OSyncDB *db, const char *query, OSyncError **error);
OSYNC_EXPORT int osync_db_query_single_int(OSyncDB *db, const char *query, OSyncError **error);
OSYNC_EXPORT osync_bool osync_db_query(OSyncDB *db, const char *query, OSyncError **error);
-OSYNC_EXPORT GList *osync_db_query_table(OSyncDB *db, const char *query, OSyncError **error);
-OSYNC_EXPORT void osync_db_free_list(GList *list);
+OSYNC_EXPORT OSyncList *osync_db_query_table(OSyncDB *db, const char *query, OSyncError **error);
+OSYNC_EXPORT void osync_db_free_list(OSyncList *list);
OSYNC_EXPORT osync_bool osync_db_bind_blob(OSyncDB *db, const char *query, const char *data, unsigned int size, OSyncError **error);
OSYNC_EXPORT int osync_db_get_blob(OSyncDB *db, const char *query, char **data, unsigned int *size, OSyncError **error);
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel