// nitr0us
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/acct.h>

main(int argc, char **argv)
{
	int		c, errflg = 0;
	extern char	*optarg;
	extern int	optind;
	char		options[] = "de:", error[] = "[-de] acct_file\n\t-d\tDisable\n\t-e\tEnable";
	enum{
		NONE,
		ENABLE,
		DISABLE,
	} action = NONE;

	if(argc != 3)
		errflg++;

	while((c = getopt(argc, argv, options)) != EOF)
		switch(c){
			case 'd':
				action = DISABLE;
				break;
			case 'e':
				action = ENABLE;
				break;
			case '?':
				errflg++;
		}

	if(errflg){
		fprintf(stderr, "Usage: %s %s\n", argv[0], error);
		exit(-1);
	}

	switch(action){
		case DISABLE:
			if(acct(NULL) == -1){
				perror("acct");
				exit(-1);
			} else{
				printf("Disabled\n");
				exit(0);
			}
		case ENABLE:
			close(creat(argv[2], 644));
			if(acct(argv[2]) == -1){
				perror("acct()");
				exit(-1);
			} else{
				printf("Enabled on %s\n", argv[2]);
				exit(0);
			}
	}
}
