/******************************** * Matthew Page * System Programming * 03/26/2015 * * chmoddy.c - rewrite chmod * *******************************/ #include #include #include int main(int argc, char **argv) { int i=0; int j; char c; int mode=0; if (argc != 3) { fprintf(stderr, "Error! Incorrect argument count!\n"); exit (1); } //mode = atoi(argv[1]); while(*(*(argv+1)+i) != '\0') { c = *(*(argv+1)+i); if (c >= '4') { mode = mode | S_IRUSR >> i*3; c=c-4; } if (c >= '2') { mode = mode | S_IWUSR >> i*3; c=c-2; } if (c >= '1') { mode = mode | S_IXUSR >> i*3; } i++; } chmod(argv[2], mode); return (0); }