summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mbbsd/cache.c12
-rw-r--r--mbbsd/more.c10
2 files changed, 9 insertions, 13 deletions
diff --git a/mbbsd/cache.c b/mbbsd/cache.c
index 2182423f..4829c929 100644
--- a/mbbsd/cache.c
+++ b/mbbsd/cache.c
@@ -1,4 +1,4 @@
-/* $Id: cache.c,v 1.11 2002/04/15 17:11:37 ptt Exp $ */
+/* $Id: cache.c,v 1.12 2002/04/15 19:06:21 ptt Exp $ */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -1058,12 +1058,10 @@ int updatemdcache(const char *CPATH, const char *fpath)
while( (len = read(sourcefd, buf, sizeof(buf))) > 0 )
if( write(targetfd, buf, len) < len ){
/* md is full? */
- close(targetfd);
- unlink(cpath);
- return sourcefd;
}
- close(sourcefd);
- lseek(targetfd, 0, SEEK_SET);
- return targetfd;
+ close(targetfd);
+ lseek(sourcefd, 0, SEEK_SET);
+
+ return sourcefd;
}
#endif
diff --git a/mbbsd/more.c b/mbbsd/more.c
index 4265d75f..c8abd17e 100644
--- a/mbbsd/more.c
+++ b/mbbsd/more.c
@@ -1,4 +1,4 @@
-/* $Id: more.c,v 1.3 2002/04/15 17:07:11 ptt Exp $ */
+/* $Id: more.c,v 1.4 2002/04/15 19:06:22 ptt Exp $ */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -238,12 +238,10 @@ int more(char *fpath, int promptend) {
char cpath[256];
cachepath(cpath,fpath);
++GLOBE[0];
- if( (fd = open(cpath, O_RDONLY)) < 0 ){
- if( (fd = updatemdcache(cpath, fpath)) < 0 )
+ if( (fd = open(cpath, O_RDONLY)) < 0 ||
+ (fd = updatemdcache(cpath, fpath)) < 0 )
return -1;
- }
- else
- ++GLOBE[1];
+ ++GLOBE[1];
}
else
fd = open (fpath, O_RDONLY, 0600);