Mercurial > sos > sos
changeset 75:c10465be6160
Fixed language, makeFile no longer eats all errors from lookupFile
author | Jonathan Pevarnek <pevarnj@gmail.com> |
---|---|
date | Tue, 26 Apr 2011 23:17:35 -0400 |
parents | 36e6fc4a0487 |
children | 6538d7c45ad8 |
files | src/fs.c |
diffstat | 1 files changed, 3 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/fs.c Tue Apr 26 22:38:45 2011 -0400 +++ b/src/fs.c Tue Apr 26 23:17:35 2011 -0400 @@ -66,7 +66,7 @@ Direntry de; ErrCode err = getFInfo(i, &de); if(err == mkError(MODFS, OUTOFRANGE, WARN)) break; //have iterated through all files - else if(isError(err)) return err; //forward error + else if(isError(err)) return err; //propogate error if(!fnameCmp(fname, de.fname)) { *fid = de.inode; return 0; @@ -81,8 +81,9 @@ ErrCode makeFile(char *fname, u32 *fid) { ErrCode err; - if(lookupFile(fname, fid) != mkError(MODFS, NOTFILE, ERROR)) + if(!isError(err = lookupFile(fname, fid))) return mkError(MODFS, EXISTS, ERROR); //the file should not exist + if(err != mkError(MODFS, NOTFILE, ERROR)) return err; if(isError(err = nextFreeBlock(0, fid))) return err; Inode nin;