perror("agedu: mmap");
return 1;
}
+ pathsep = trie_pathsep(mappedfile);
/*
* Trim trailing slash, just in case.
perror("agedu: mmap");
return 1;
}
+ pathsep = trie_pathsep(mappedfile);
/*
* Trim trailing slash, just in case.
perror("agedu: mmap");
return 1;
}
+ pathsep = trie_pathsep(mappedfile);
maxpathlen = trie_maxpathlen(mappedfile);
buf = snewn(maxpathlen, char);
perror("agedu: mmap");
return 1;
}
+ pathsep = trie_pathsep(mappedfile);
dcfg.address = httpserveraddr;
dcfg.port = httpserverport;
off_t root, indexroot;
int count;
size_t maxpathlen;
+ int pathsep;
};
/* Union only used for computing alignment */
th.root = th.count = 0;
th.indexroot = 0;
th.maxpathlen = 0;
+ th.pathsep = (unsigned char)pathsep;
tb_seek(tb, 0);
tb_write(tb, &th, sizeof(th));
th.root = triebuild_unwind(tb, 0, &th.count);
th.indexroot = 0;
th.maxpathlen = tb->maxpathlen;
+ th.pathsep = (unsigned char)pathsep;
tb_seek(tb, 0);
tb_write(tb, &th, sizeof(th));
return hdr->count;
}
+char trie_pathsep(const void *t)
+{
+ const struct trie_header *hdr = NODE(t, 0, trie_header);
+ return (char)hdr->pathsep;
+}
+
struct triewalk_switch {
const struct trie_switch *sw;
int pos, depth, count;
*/
/*
+ * Return the path separator character in use in the trie.
+ */
+char trie_pathsep(const void *t);
+
+/*
* Return the length of the longest pathname stored in the trie,
* including its trailing NUL.
*/