git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
feat: a pseudo shell environment for basic interacting and testing purpose
[lunaix-os.git]
/
lunaix-os
/
kernel
/
device
/
devfs.c
diff --git
a/lunaix-os/kernel/device/devfs.c
b/lunaix-os/kernel/device/devfs.c
index 0448924083fa603413b73a415b3fa669b2aca610..ac674b4ac77ebb4e5f4b5cee6f1b4794c2c92ad0 100644
(file)
--- a/
lunaix-os/kernel/device/devfs.c
+++ b/
lunaix-os/kernel/device/devfs.c
@@
-84,7
+84,9
@@
devfs_dirlookup(struct v_inode* this, struct v_dnode* dnode)
int
devfs_readdir(struct v_file* file, struct dir_context* dctx)
{
int
devfs_readdir(struct v_file* file, struct dir_context* dctx)
{
- struct device* dev = device_getbyoffset(file->inode->data, dctx->index);
+ struct device* holder = (struct device*)(file->inode->data);
+ struct device* dev =
+ device_getbyoffset(holder ? &holder->children : NULL, dctx->index);
if (!dev) {
return 0;
}
if (!dev) {
return 0;
}