* fhandler_proc.cc (fhandler_proc::readdir): Set dirent d_type.

* fhandler_process.cc (fhandler_process::readdir): Ditto.
	* fhandler_procnet.cc (fhandler_procnet::readdir): Ditto.
	* fhandler_procsys.cc (fhandler_procsys::readdir): Ditto.
	* fhandler_procsysvipc.cc (fhandler_procsysvipc::readdir): Ditto.
	*  fhandler_virtual.h (virt_ftype_to_dtype): Define new inline function
	to generate dirent d_type from virtual_ftype_t.
This commit is contained in:
Corinna Vinschen
2014-10-09 13:24:37 +00:00
parent 633cf9b5dd
commit 54338f169f
7 changed files with 61 additions and 8 deletions

View File

@ -254,7 +254,9 @@ fhandler_proc::readdir (DIR *dir, dirent *de)
int res;
if (dir->__d_position < PROC_LINK_COUNT)
{
strcpy (de->d_name, proc_tab[dir->__d_position++].name);
strcpy (de->d_name, proc_tab[dir->__d_position].name);
de->d_type = virt_ftype_to_dtype (proc_tab[dir->__d_position].type);
dir->__d_position++;
dir->__flags |= dirent_saw_dot | dirent_saw_dot_dot;
res = 0;
}
@ -267,6 +269,7 @@ fhandler_proc::readdir (DIR *dir, dirent *de)
if (found++ == dir->__d_position - PROC_LINK_COUNT)
{
__small_sprintf (de->d_name, "%d", pids[i]->pid);
de->d_type = DT_DIR;
dir->__d_position++;
res = 0;
break;