Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Wrap potentially NULL strings to protect solaris
[simgrid.git] / testsuite / xbt / dict_usage.c
index 6f2a23e..1a9d63f 100644 (file)
@@ -10,6 +10,7 @@
 #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");
@@ -22,7 +23,7 @@ static xbt_error_t traverse(xbt_dict_t head);
 
 static void print_str(void *str);
 static void print_str(void *str) {
-  printf("%s",(char*)str);
+  printf("%s",(char*)PRINTF_STR(str));
 }
 
 static void fill(xbt_dict_t *head) {
@@ -45,7 +46,7 @@ static void debuged_add(xbt_dict_t head,const char*key)
 {
   char *data=xbt_strdup(key);
 
-  printf("   - Add %s\n",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);
@@ -59,7 +60,7 @@ static xbt_error_t search(xbt_dict_t head,const char*key) {
 
   
   errcode=xbt_dict_get(head,key,&data);
-  printf("   - Search %s. Found %s\n",key,data?(char*)data:"NULL");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)) 
@@ -71,7 +72,7 @@ static xbt_error_t debuged_remove(xbt_dict_t head,const char*key)
 {
   xbt_error_t errcode;
 
-  printf("   Remove '%s'\n",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;
@@ -84,7 +85,7 @@ static xbt_error_t traverse(xbt_dict_t head) {
   char *data;
 
   xbt_dict_foreach(head,cursor,key,data) {
-    printf("   - Seen:  %s->%s\n",key,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);
   }
@@ -123,7 +124,7 @@ int main(int argc,char **argv) {
      int found=0;
      
      xbt_dict_foreach(head,cursor,key,data) {
-       printf("   - Seen:  %s->%s\n",key,data);fflush(stdout);
+       printf("   - Seen:  %s->%s\n",PRINTF_STR(key),PRINTF_STR(data));fflush(stdout);
        if (!strcmp(key,"null"))
          found = 1;
      }