📄 wyfilestat.cpp
字号:
/* Copyright is licensed under GNU LGPL. by I.J.Wang 2003*/#define WYLIB_SOURCE#include "wyfilestat.h"#include "wy__cfunc.h"#include <unistd.h>const char WyFileStat::class_name[]="WyFileStat";WyFileStat::WyFileStat() WY__TSPC(){ _stt.st_dev=dev_t(); _stt.st_ino=ino_t(); _stt.st_mode=mode_t(); _stt.st_nlink=nlink_t(); _stt.st_uid=uid_t(); _stt.st_gid=gid_t(); _stt.st_rdev=dev_t(); _stt.st_size=off_t(); _stt.st_blksize=blksize_t(); _stt.st_blocks=blkcnt_t(); _stt.st_atime=time_t(); _stt.st_mtime=time_t(); _stt.st_ctime=time_t();};WyFileStat::WyFileStat(const WyFileStat& src) WY__TSPC(){ _stt=src._stt;};WyFileStat::WyFileStat(WyFileStat &src, Wy::ByMove_t) WY__TSPC(){ _stt=src._stt;};WyFileStat::WyFileStat(const struct stat& fs) WY__TSPC(){ // self-copy ok std::memcpy(&_stt,&fs,sizeof(_stt));};bool WyFileStat::is_default(void) const WY__TSPC(){ if((_stt.st_dev!=dev_t())|| (_stt.st_ino!=ino_t())|| (_stt.st_mode!=mode_t())|| (_stt.st_nlink!=nlink_t())|| (_stt.st_uid!=uid_t())|| (_stt.st_gid!=gid_t())|| (_stt.st_rdev!=dev_t())|| (_stt.st_size!=off_t())|| (_stt.st_blksize!=blksize_t())|| (_stt.st_blocks!=blkcnt_t())|| (_stt.st_atime!=time_t())|| (_stt.st_mtime!=time_t())|| (_stt.st_ctime!=time_t())) { return(false); } return(true);};void WyFileStat::reset(void) WY__TSPC(){ _stt.st_dev=dev_t(); _stt.st_ino=ino_t(); _stt.st_mode=mode_t(); _stt.st_nlink=nlink_t(); _stt.st_uid=uid_t(); _stt.st_gid=gid_t(); _stt.st_rdev=dev_t(); _stt.st_size=off_t(); _stt.st_blksize=blksize_t(); _stt.st_blocks=blkcnt_t(); _stt.st_atime=time_t(); _stt.st_mtime=time_t(); _stt.st_ctime=time_t();};void WyFileStat::reset(const WyFileStat& src) WY__TSPC(){ _stt=src._stt;};void WyFileStat::swap(WyFileStat& src) WY__TSPC(){ Wy__Base::vswap(_stt,src._stt); };const WyFileStat& WyFileStat::operator=(const WyFileStat& src) WY__TSPC(){ _stt=src._stt; return *this;};mode_t WyFileStat::sf_mode(void) const WY__TSPC(){ return _stt.st_mode;};ino_t WyFileStat::sf_ino(void) const WY__TSPC(){ return _stt.st_ino;};dev_t WyFileStat::sf_dev(void) const WY__TSPC(){ return _stt.st_dev;};nlink_t WyFileStat::sf_nlink(void) const WY__TSPC(){ return _stt.st_nlink;};uid_t WyFileStat::sf_uid(void) const WY__TSPC(){ return _stt.st_uid;};gid_t WyFileStat::sf_gid(void) const WY__TSPC(){ return _stt.st_gid;};dev_t WyFileStat::sf_rdev(void) const WY__TSPC(){ return _stt.st_rdev;};off_t WyFileStat::sf_size(void) const WY__TSPC(){ return _stt.st_size;};blksize_t WyFileStat::sf_blksize(void) const WY__TSPC(){ return _stt.st_blksize;};blkcnt_t WyFileStat::sf_blocks(void) const WY__TSPC(){ return _stt.st_blocks;};std::time_t WyFileStat::sf_atime(void) const WY__TSPC(){ return _stt.st_atime;};std::time_t WyFileStat::sf_ctime(void) const WY__TSPC(){ return _stt.st_ctime;};std::time_t WyFileStat::sf_mtime(void) const WY__TSPC(){ return _stt.st_mtime;};bool WyFileStat::is_dir(void) const WY__TSPC(){ return S_ISDIR(_stt.st_mode);};bool WyFileStat::is_chr(void) const WY__TSPC(){ return S_ISCHR(_stt.st_mode);};bool WyFileStat::is_blk(void) const WY__TSPC(){ return S_ISBLK(_stt.st_mode); };bool WyFileStat::is_reg(void) const WY__TSPC(){ return S_ISREG(_stt.st_mode);};bool WyFileStat::is_fifo(void) const WY__TSPC(){ return S_ISFIFO(_stt.st_mode);};bool WyFileStat::is_lnk(void) const WY__TSPC(){ return S_ISLNK(_stt.st_mode);};bool WyFileStat::is_sock(void) const WY__TSPC(){ return S_ISSOCK(_stt.st_mode);};bool WyFileStat::operator ==(const WyFileStat& rhs) const WY__TSPC(){ if((_stt.st_mode==rhs._stt.st_mode)&& (_stt.st_ino==rhs._stt.st_ino)&& (_stt.st_dev==rhs._stt.st_dev)&& (_stt.st_nlink==rhs._stt.st_nlink)&& (_stt.st_uid==rhs._stt.st_uid)&& (_stt.st_gid==rhs._stt.st_gid)&& (_stt.st_size==rhs._stt.st_size)&& (_stt.st_rdev==rhs._stt.st_rdev)&& (_stt.st_blksize==rhs._stt.st_blksize)&& (_stt.st_blocks==rhs._stt.st_blocks)&& (_stt.st_atime==rhs._stt.st_atime)&& (_stt.st_ctime==rhs._stt.st_ctime)&& (_stt.st_mtime==rhs._stt.st_mtime)) { return(true); } return(false);};bool WyFileStat::operator !=(const WyFileStat& rhs) const WY__TSPC(){ return !operator==(rhs);};struct stat* WyFileStat::wy_stat_ptr(void) WY__NOTHROW__{ return &_stt;};//----------------------WyRet Wy::stat(const char* filename, WyFileStat& stt){ if(wyc_stat(filename, stt.wy_stat_ptr())==-1) { WY_RETURN(errno); } return(Ok);};WyRet Wy::stat(const WyStr& filename, WyFileStat& stt){ if(wyc_stat(filename.c_str(), stt.wy_stat_ptr())!=0) { WY_RETURN(errno); } return(Ok);};WyRet Wy::lstat(const char* filename, WyFileStat& stt){ if(::lstat(filename, stt.wy_stat_ptr())!=0) { WY_RETURN(errno); } return(Ok);};WyRet Wy::lstat(const WyStr& filename, WyFileStat& stt){ if(::lstat(filename.c_str(), stt.wy_stat_ptr())!=0) { WY_RETURN(errno); } return(Ok);};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -