From 9a12adf6d29cdefc98afe2566a9e5479489f111b Mon Sep 17 00:00:00 2001 From: kcwu Date: Wed, 12 Dec 2007 01:42:23 +0000 Subject: * extract common functions as library. git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3673 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/kaede.c | 105 ---------------------------------------------------------- 1 file changed, 105 deletions(-) (limited to 'mbbsd/kaede.c') diff --git a/mbbsd/kaede.c b/mbbsd/kaede.c index 1dd8ba41..8e328e5d 100644 --- a/mbbsd/kaede.c +++ b/mbbsd/kaede.c @@ -71,108 +71,3 @@ Ptt_prints(char *str, size_t size, int mode) return str; } -int -Rename(const char *src, const char *dst) -{ - if (rename(src, dst) == 0) - return 0; - if (!strchr(src, ';') && !strchr(dst, ';')) - { - pid_t pid = fork(); - if (pid == 0) - execl("/bin/mv", "mv", "-f", src, dst, (char *)NULL); - else if (pid > 0) - waitpid(pid, NULL, 0); - else - return -1; - } - return 0; -} - -int -Copy(const char *src, const char *dst) -{ - int fi, fo, bytes; - char buf[8192]; - fi=open(src, O_RDONLY); - if(fi<0) return -1; - fo=open(dst, O_WRONLY | O_TRUNC | O_CREAT, 0600); - if(fo<0) {close(fi); return -1;} - while((bytes=read(fi, buf, sizeof(buf)))>0) - write(fo, buf, bytes); - close(fo); - close(fi); - return 0; -} - -int -CopyN(const char *src, const char *dst, int n) -{ - int fi, fo, bytes; - char buf[8192]; - - fi=open(src, O_RDONLY); - if(fi<0) return -1; - - fo=open(dst, O_WRONLY | O_TRUNC | O_CREAT, 0600); - if(fo<0) {close(fi); return -1;} - - while(n > 0 && (bytes=read(fi, buf, sizeof(buf)))>0) - { - n -= bytes; - if (n < 0) - bytes += n; - write(fo, buf, bytes); - } - close(fo); - close(fi); - return 0; -} - -/* append data from tail of src (starting point=off) to dst */ -int -AppendTail(const char *src, const char *dst, int off) -{ - int fi, fo, bytes; - char buf[8192]; - - fi=open(src, O_RDONLY); - if(fi<0) return -1; - - fo=open(dst, O_WRONLY | O_APPEND | O_CREAT, 0600); - if(fo<0) {close(fi); return -1;} - - if(off > 0) - lseek(fi, (off_t)off, SEEK_SET); - - while((bytes=read(fi, buf, sizeof(buf)))>0) - { - write(fo, buf, bytes); - } - close(fo); - close(fi); - return 0; -} - -int -Link(const char *src, const char *dst) -{ - if (strcmp(src, BBSHOME "/home") == 0) - return 1; - if (symlink(src, dst) == 0) - return 0; - - return Copy(src, dst); -} - -char * -my_ctime(const time4_t * t, char *ans, int len) -{ - struct tm *tp; - - tp = localtime4((time4_t*)t); - snprintf(ans, len, - "%02d/%02d/%02d %02d:%02d:%02d", (tp->tm_year % 100), - tp->tm_mon + 1, tp->tm_mday, tp->tm_hour, tp->tm_min, tp->tm_sec); - return ans; -} -- cgit v1.2.3