Remove readlink -m for being poorly defined ("readlink -m /dev/null/and/more" answers what question, exactly?), rewrite xabspath() to work right and not depend on realpath, fix subtle longstanding bug in llist_traverse().
diff --git a/lib/lib.h b/lib/lib.h
index 34ded00..5c4cc46 100644
--- a/lib/lib.h
+++ b/lib/lib.h
@@ -116,7 +116,7 @@
 char *xreadfile(char *name);
 char *xgetcwd(void);
 void xstat(char *path, struct stat *st);
-char *xabspath(char *path, unsigned missing);
+char *xabspath(char *path, int exact);
 char *xrealpath(char *path);
 void xchdir(char *path);
 void xmkpath(char *path, int mode);