summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2003-11-16 17:35:27 +0800
committerptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2003-11-16 17:35:27 +0800
commite80b91281f51b9426d56acf86fd032e5c6182db2 (patch)
tree9ddcdaa66ec017524ccb954ff03bbb27b9bc4de2
parentc72d2bd6a04381c1957605a3625e39f152cce686 (diff)
downloadpttbbs-e80b91281f51b9426d56acf86fd032e5c6182db2.tar
pttbbs-e80b91281f51b9426d56acf86fd032e5c6182db2.tar.gz
pttbbs-e80b91281f51b9426d56acf86fd032e5c6182db2.tar.bz2
pttbbs-e80b91281f51b9426d56acf86fd032e5c6182db2.tar.lz
pttbbs-e80b91281f51b9426d56acf86fd032e5c6182db2.tar.xz
pttbbs-e80b91281f51b9426d56acf86fd032e5c6182db2.tar.zst
pttbbs-e80b91281f51b9426d56acf86fd032e5c6182db2.zip
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@1349 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--pttbbs/mbbsd/bbs.c2
-rw-r--r--pttbbs/mbbsd/kaede.c21
2 files changed, 11 insertions, 12 deletions
diff --git a/pttbbs/mbbsd/bbs.c b/pttbbs/mbbsd/bbs.c
index 63c44ac6..3f1744f3 100644
--- a/pttbbs/mbbsd/bbs.c
+++ b/pttbbs/mbbsd/bbs.c
@@ -852,7 +852,7 @@ b_posttype(int ent, fileheader_t * fhdr, char *direct)
int i, aborted;
char filepath[256], genbuf[60], title[5], posttype_f, posttype[33]="";
- if(!currmode & MODE_BOARD) return DONOTHING;
+ if(!(currmode & MODE_BOARD)) return DONOTHING;
bp = getbcache(currbid);
diff --git a/pttbbs/mbbsd/kaede.c b/pttbbs/mbbsd/kaede.c
index e52bb6fc..326bc427 100644
--- a/pttbbs/mbbsd/kaede.c
+++ b/pttbbs/mbbsd/kaede.c
@@ -76,17 +76,16 @@ Rename(char *src, char *dst)
int
Copy(char *src, char *dst)
{
- FILE *fi, *fo;
- char buf[513];
- fi=fopen(src, "r");
- if(!fi) return -1;
- fo=fopen(dst, "w");
- if(!fo) {fclose(fi); return -1;}
- buf[512]=0;
- while(fgets(buf,512,fi))
- fputs(buf,fo);
- fclose(fo);
- fclose(fi);
+ int fi, fo, bytes;
+ char buf[8192];
+ fi=open(src, O_RDONLY);
+ if(fi<0) return -1;
+ fo=open(dst, O_WRONLY);
+ if(fo<0) {close(fi); return -1;}
+ while((bytes=read(fi, buf, 8192))>0)
+ write(fo, buf, bytes);
+ close(fo);
+ close(fi);
return 0;
}
int