Changeset 1081 for Whitix/branches/keobject/fs/icfs/icfs.c
- Timestamp:
- 10/04/08 14:15:35 (3 months ago)
- Files:
-
- 1 modified
-
Whitix/branches/keobject/fs/icfs/icfs.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
Whitix/branches/keobject/fs/icfs/icfs.c
r971 r1081 8 8 9 9 #include "icfs.h" 10 11 struct VfsSuperBlock* icFsSuperBlock; 10 12 11 13 int IcFsWrite(struct File* file, BYTE* data, DWORD size) … … 53 55 int IcFsFollowLink(struct VNode** ret, struct VNode* vNode) 54 56 { 55 char buf[2048]; 56 struct KeFsEntry* entry; 57 struct KeFsEntry* src, *dest; 57 58 int err; 58 59 59 entry=(struct KeFsEntry*)(vNode->id);60 src=(struct KeFsEntry*)(vNode->id); 60 61 61 62 /* FIXME: Optimize */ 62 entry->followLink(buf, 2048); 63 err = src->followLink(&dest, src); 64 65 if (err) 66 return err; 67 68 *ret = VNodeGet(icFsSuperBlock, (DWORD)dest); 63 69 64 err=NameToVNode(ret, buf, FILE_FORCE_OPEN, NULL); 70 if (!*ret) 71 return -ENOENT; 65 72 66 return err;73 return 0; 67 74 } 68 75 … … 134 141 ret->mount=VNodeGet(ret, (DWORD)IcFsGetRootId()); 135 142 143 icFsSuperBlock = ret; 144 136 145 end: 137 146 return ret;