};
+#ifndef MAP_FAILED
+#define MAP_FAILED ((void *) -1)
+#endif
+
/**
* Map a file into memory
*
return ret;
#else
int prot;
+ int ec;
prot = 0;
if (access & GNUNET_DISK_MAP_TYPE_READ)
prot |= PROT_WRITE;
*m = GNUNET_malloc (sizeof (struct GNUNET_DISK_MapHandle));
(*m)->addr = mmap (NULL, len, prot, MAP_SHARED, h->fd, 0);
+ GNUNET_assert (NULL != (*m)->addr);
+ if (MAP_FAILED == (*m)->addr)
+ {
+ ec = errno;
+ GNUNET_free (*m);
+ errno = ec;
+ return NULL;
+ }
(*m)->len = len;
return (*m)->addr;
#endif
GNUNET_free (r);
return 1;
}
+ GNUNET_free (r);
b = GNUNET_STRINGS_to_utf8 ("TEST", 4, "ASCII");
WANT ("TEST", b);
b = GNUNET_STRINGS_to_utf8 ("TEST", 4, "unknown");
WANT ("TEST", b);
- GNUNET_free (r);
return 0;
}