rem: v->stream.type = STREAM_TYPE_DIR;
add: v->stream.type = S_IFDIR;
context: bootfs_create_path(struct bootfs *fs, char *path, struct bootfs_vnode *base, char **path_leaf){	struct bootfs_vnode *v;	char *temp;	bool done;	// strip off any leading '/' or spaces	for(; *path == '/' || *path == ' '; path++)		;	// first, find the leaf	*path_leaf = strrchr(path, '/');	if(*path_leaf == NULL) {		// didn't find it, so this path only is a leaf		*path_leaf = path;		return base;	}	// this is a multipart path, seperate the leaf off	**path_leaf = '\0';	(*path_leaf)++;	if(**path_leaf == '\0') {		// the path ended with '/'. That's invalid		return NULL;	}	// now, lets walk down the path, building vnodes as we need em	done = false;	for(; !done; path = temp+1) {		// find the next seperator and knock it out		temp = strchr(path, '/');		if(temp) {			*temp = '\0';		} else {			done = true;		}		if(*path == '\0') {			// zero length path segment, continue			continue;		}		v = bootfs_find_in_dir(base, path);		if(!v) {			v = bootfs_create_vnode(fs, path);			if(!v)				return NULL;			v->stream.type = STREAM_TYPE_DIR;			v->stream.u.dir.dir_head = NULL;			v->stream.u.dir.jar_head = NULL;			bootfs_insert_in_dir(base, v);			hash_insert(fs->vnode_list_hash, v);		} else {			// we found one			if(v->stream.type != STREAM_TYPE_DIR)				return NULL;		}		base = v;	}	return base;}