/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
+#include "portable.h" /* PRINTF_STR */
#include "dict_private.h" /* prototypes of this module */
XBT_LOG_EXTERNAL_CATEGORY(dict);
CDEBUG6(dict_search, "search child [%.*s] under [%.*s]=%p (len=%lu)",
key_len, key,
p_elm ? (p_elm->key_len?p_elm->key_len:6) : 6,
- p_elm ? (p_elm->key?p_elm->key:"(NULL)") : "(head)",
+ p_elm ? PRINTF_STR(p_elm->key) : "(head)",
p_elm,
(p_elm&&p_elm->sub) ? xbt_dynar_length(p_elm->sub) : 0);
*p_match = m;
CDEBUG6(dict_search, "search [%.*s] in [%.*s]=%p => %s",
key_len, key,
- p_elm?(p_elm->key_len?p_elm->key_len:6):6, p_elm?(p_elm->key?p_elm->key:"(null)"):"(head)",
+ p_elm?(p_elm->key_len?p_elm->key_len:6):6, p_elm?PRINTF_STR(p_elm->key):"(head)",
p_elm,
( m == 0 ? "no child have a common prefix" :
( m == 1 ? "selected child have exactly this key" :
#include <stdio.h>
#include "gras.h"
+#include "portable.h"
XBT_LOG_EXTERNAL_CATEGORY(dict);
XBT_LOG_NEW_DEFAULT_CATEGORY(test,"Logging specific to this test");
static xbt_error_t debuged_remove(xbt_dict_t head,const char*key);
static xbt_error_t traverse(xbt_dict_t head);
-#define STRING(str) (str)?:"(null)"
-
static void print_str(void *str);
static void print_str(void *str) {
- printf("%s",(char*)STRING(str));
+ printf("%s",(char*)PRINTF_STR(str));
}
static void fill(xbt_dict_t *head) {
{
char *data=xbt_strdup(key);
- printf(" - Add %s\n",STRING(key));
+ printf(" - Add %s\n",PRINTF_STR(key));
xbt_dict_set(head,key,data,&free);
if (XBT_LOG_ISENABLED(dict,xbt_log_priority_debug)) {
xbt_dict_dump(head,(void (*)(void*))&printf);
errcode=xbt_dict_get(head,key,&data);
- printf(" - Search %s. Found %s\n",STRING(key),(char*) STRING(data));fflush(stdout);
+ printf(" - Search %s. Found %s\n",PRINTF_STR(key),(char*) PRINTF_STR(data));fflush(stdout);
if (!data)
return errcode;
if (strcmp((char*)data,key))
{
xbt_error_t errcode;
- printf(" Remove '%s'\n",STRING(key));fflush(stdout);
+ printf(" Remove '%s'\n",PRINTF_STR(key));fflush(stdout);
errcode=xbt_dict_remove(head,key);
/* xbt_dict_dump(head,(void (*)(void*))&printf); */
return errcode;
char *data;
xbt_dict_foreach(head,cursor,key,data) {
- printf(" - Seen: %s->%s\n",STRING(key),STRING(data));
+ printf(" - Seen: %s->%s\n",PRINTF_STR(key),PRINTF_STR(data));
xbt_assert2(!data || !strcmp(key,data),
"Key(%s) != value(%s). Abording\n",key,data);
}
int found=0;
xbt_dict_foreach(head,cursor,key,data) {
- printf(" - Seen: %s->%s\n",STRING(key),STRING(data));fflush(stdout);
+ printf(" - Seen: %s->%s\n",PRINTF_STR(key),PRINTF_STR(data));fflush(stdout);
if (!strcmp(key,"null"))
found = 1;
}