X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/dccf1b41e9c7b5a696f01abceaa2779fe65f154f..f968cbbb699423fa252994ff42de77f8671ac7eb:/src/xbt/dict_cursor.c diff --git a/src/xbt/dict_cursor.c b/src/xbt/dict_cursor.c index ab5872c158..b528645f03 100644 --- a/src/xbt/dict_cursor.c +++ b/src/xbt/dict_cursor.c @@ -1,6 +1,6 @@ /* dict_cursor - iterators over dictionaries */ -/* Copyright (c) 2004-2014. The SimGrid Team. +/* Copyright (c) 2004-2018. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -19,17 +19,12 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_dict_cursor, xbt_dict, "To traverse dictiona /* Don't add or remove entries to the dict while traversing !!! */ /*###########################################################################*/ -#undef xbt_dict_CURSOR_DEBUG -/*#define xbt_dict_CURSOR_DEBUG 1*/ - /** @brief Creator * @param dict the dict */ inline xbt_dict_cursor_t xbt_dict_cursor_new(const xbt_dict_t dict) { - xbt_dict_cursor_t res = NULL; - - res = xbt_new(s_xbt_dict_cursor_t, 1); + xbt_dict_cursor_t res = xbt_new(struct s_xbt_dict_cursor, 1); res->dict = dict; xbt_dict_cursor_rewind(res); @@ -108,7 +103,8 @@ inline void xbt_dict_cursor_step(xbt_dict_cursor_t cursor) XBT_CDEBUG(xbt_dict_cursor, "next element: %p", current); } - while (current == NULL && ++line <= cursor->dict->table_size) { + while (current == NULL && (line + 1) <= cursor->dict->table_size) { + line++; XBT_CDEBUG(xbt_dict_cursor, "current is NULL, take the next line"); current = cursor->dict->table[line]; XBT_CDEBUG(xbt_dict_cursor, "element in the next line: %p", current); @@ -132,17 +128,17 @@ inline int xbt_dict_cursor_get_or_free(xbt_dict_cursor_t * cursor, char **key, v XBT_CDEBUG(xbt_dict_cursor, "xbt_dict_get_or_free"); if (!cursor || !(*cursor)) - return FALSE; + return 0; current = (*cursor)->current; if (current == NULL) { /* no data left */ xbt_dict_cursor_free(cursor); - return FALSE; + return 0; } *key = current->key; *data = current->content; - return TRUE; + return 1; } /** @@ -168,15 +164,3 @@ inline void *xbt_dict_cursor_get_data(xbt_dict_cursor_t cursor) return cursor->current->content; } - -/** - * @brief Set current data - * @param cursor the cursor - * @param data the new data - * @param free_ctn the function to free the new data - */ -inline void xbt_dict_cursor_set_data(xbt_dict_cursor_t cursor, void *data, void_f_pvoid_t free_ctn) -{ - __cursor_not_null(cursor); - xbt_dictelm_set_data(cursor->dict, cursor->current, data, free_ctn); -}