Is the second condition here (`*tail != 0`) meant to capture the case where the path is only the root? due to the above lines, tail is set to point to `make_path.size - 1`, so it will point to the char before the null char, and in Win32 will not be null (e.g. 'd:\' will result in tail pointing to ':')