TODO (323B)
1 * remove memory allocations in the create/remove path 2 * grab latest recurse.c from sbase and rework code (remove agetcwd calls) 3 * use strlcpy()/strlcat() instead of snprintf() and check for path truncation 4 * populatedev() makes some weird assumptions, should be reworked 5 * simplify parsepath() 6 * rethink mdev compatibility