+static struct ChainMapObject * get_next_cmo (void * start, char * still_at_start, size_t size, struct ChainMapObject * cmo) {
+// Return pointer to map object of size "size". If first in chain ("still_at_start"), make "start" point to it.
+ if (*still_at_start) {
+ struct ChainMapObject * * z = start;
+ cmo = malloc(size);
+ * z = cmo;
+ *still_at_start = 0; }
+ else {
+ cmo->next = malloc(size);
+ cmo = cmo->next; }
+ return cmo; }
+