#include<stdio.h>
#include<sys/types.h>
#include<stdlib.h>
#include<sys/stat.h>
int main(int ac,char *av[])
{
struct stat settings;
int perms;
if(fstat(0,&settings)==-1)
{
perror("Can't stat stdin");
exit(0);
}
perms=(settings.st_mode&07777);
if(ac==1)
{
printf("is%c\n",(perms&S_IWGRP)?'y':'n');
exit(1);
}
if(ac==2&&av[1][0]=='n')
perms&=~S_IWGRP;
else if(ac==2&&av[1][0]=='y')
perms|=S_IWGRP;
else
{
fprintf(stderr,"usage:mesg[y|n]\n");
exit(2);
}
if(fchmod(0,perms)==-1)
{
perror("Can't change mesg status");
exit(3);
}
return 0;
}
#include<sys/types.h>
#include<stdlib.h>
#include<sys/stat.h>
int main(int ac,char *av[])
{
struct stat settings;
int perms;
if(fstat(0,&settings)==-1)
{
perror("Can't stat stdin");
exit(0);
}
perms=(settings.st_mode&07777);
if(ac==1)
{
printf("is%c\n",(perms&S_IWGRP)?'y':'n');
exit(1);
}
if(ac==2&&av[1][0]=='n')
perms&=~S_IWGRP;
else if(ac==2&&av[1][0]=='y')
perms|=S_IWGRP;
else
{
fprintf(stderr,"usage:mesg[y|n]\n");
exit(2);
}
if(fchmod(0,perms)==-1)
{
perror("Can't change mesg status");
exit(3);
}
return 0;
}