static char *make_filename_lines(const char *path, unsigned flags)
{
- char *basename, *dirname;
- char *ret;
+ char *dirname, *ret;
+ const char *basename;
if (!(flags & LS_FLAG_FULL_PATH))
return make_message("%s: %s\n",
dirname = para_dirname(path);
ret = make_message("%s: %s\n%s: %s\n%s: %s\n",
status_item_list[SI_PATH], path,
- status_item_list[SI_DIRECTORY], dirname,
- status_item_list[SI_BASENAME], basename);
- free(basename);
+ status_item_list[SI_DIRECTORY], dirname? dirname : "?",
+ status_item_list[SI_BASENAME], basename? basename : "?");
free(dirname);
return ret;
}