git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Usermode - Changed install dir to $(DISTROOT)/$(ARCH) for cross-installs
[tpg/acess2.git]
/
Kernel
/
drv
/
proc.c
diff --git
a/Kernel/drv/proc.c
b/Kernel/drv/proc.c
index
c0ce6ed
..
8056114
100644
(file)
--- a/
Kernel/drv/proc.c
+++ b/
Kernel/drv/proc.c
@@
-155,10
+155,10
@@
int SysFS_RegisterFile(const char *Path, const char *Data, int Length)
child->Node.ReadDir = SysFS_Comm_ReadDir;
child->Node.FindDir = SysFS_Comm_FindDir;
if( !prev ) {
child->Node.ReadDir = SysFS_Comm_ReadDir;
child->Node.FindDir = SysFS_Comm_FindDir;
if( !prev ) {
-
//
if(ent)
+ if(ent)
ent->Node.ImplPtr = child;
ent->Node.ImplPtr = child;
-
//
else
-
//
gSysFS_DriverInfo.RootNode.ImplPtr = child;
+ else
+
gSysFS_DriverInfo.RootNode.ImplPtr = child;
// ^^^ Impossible (There is already /Version)
}
else
// ^^^ Impossible (There is already /Version)
}
else
@@
-184,7
+184,7
@@
int SysFS_RegisterFile(const char *Path, const char *Data, int Length)
child = ent->Node.ImplPtr;
else
child = gSysFS_DriverInfo.RootNode.ImplPtr;
child = ent->Node.ImplPtr;
else
child = gSysFS_DriverInfo.RootNode.ImplPtr;
- for(
child = ent->Node.ImplPtr; child; prev = child,
child = child->Next )
+ for(
; child;
child = child->Next )
{
if( strcmp( &Path[start], child->Name ) == 0 )
break;
{
if( strcmp( &Path[start], child->Name ) == 0 )
break;
@@
-283,7
+283,10
@@
int SysFS_RemoveFile(int ID)
parent = file->Parent;
// Remove from file list
parent = file->Parent;
// Remove from file list
- prev->ListNext = file->ListNext;
+ if(prev)
+ prev->ListNext = file->ListNext;
+ else
+ gSysFS_FileList = file->ListNext;
file->Node.Size = 0;
file->Node.ImplPtr = NULL;
file->Node.Size = 0;
file->Node.ImplPtr = NULL;
@@
-298,7
+301,10
@@
int SysFS_RemoveFile(int ID)
}
// Remove from parent directory
}
// Remove from parent directory
- prev->Next = ent->Next;
+ if(prev)
+ prev->Next = ent->Next;
+ else
+ parent->Node.ImplPtr = ent->Next;
// Free if not in use
if(file->Node.ReferenceCount == 0)
// Free if not in use
if(file->Node.ReferenceCount == 0)
UCC
git Repository :: git.ucc.asn.au