MCPcopy Create free account
hub / github.com/LemonOSProject/LemonOS / ReadDir

Function ReadDir

Kernel/src/fs/initrd.cpp:106–128  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

104 }
105
106 int ReadDir(fs_node_t* node, fs_dirent_t* dirent, uint32_t index){
107 if(index >= initrdHeader.fileCount + 2) return -1;
108
109 if(index == 0) {
110 memset(dirent->name,0,128); // Zero the string
111 strcpy(dirent->name,".");
112 dirent->inode = 0;
113 dirent->type = FS_NODE_DIRECTORY;
114 return 0;
115 } else if (index == 1){
116 memset(dirent->name,0,128); // Zero the string
117 strcpy(dirent->name,"..");
118 dirent->inode = 2;
119 dirent->type = FS_NODE_DIRECTORY;
120 return 0;
121 }
122 memset(dirent->name,0,128); // Zero the string
123 strcpy(dirent->name,nodes[index - 2].filename);
124 dirent->inode = index - 3;
125 dirent->type = 0;
126
127 return 0;
128 }
129
130 fs_node_t* FindDir(fs_node_t* node, char* name) {
131 for(int i = 0; i < initrdHeader.fileCount;i++){

Callers 3

ReadDirMethod · 0.70
SysReadDirNextFunction · 0.50
SysReadDirFunction · 0.50

Calls 2

memsetFunction · 0.85
strcpyFunction · 0.85

Tested by

no test coverage detected