|
楼主 |
发表于 2004-7-25 15:56:24
|
显示全部楼层
char *get_perms(struct stat *sbuf,char *perms)
{
static char *modes[]={"---","--x","-w-","r--","r-x","rw-","rwx"};/* */
int i,j;
*perms='\0';
/* */
for(i=2;i>=0;i--){
j=(sbuf->st_mode>>(i*3))&07;
strcat(perms,modes[j]);
}
if((sbuf->st_mode &S_ISUID)!=0)
perms[2]='s';
if((sbuf->st_mode &S_ISGID)!=0)
perms[5]='s';
if((sbuf->st_mode &S_ISUID)!=0)
perms[8]='t';
return perms;
} |
|