diff options
| -rw-r--r-- | easydir.c | 12 | ||||
| -rw-r--r-- | easydir.h | 4 | ||||
| -rw-r--r-- | handerror.c | 6 | ||||
| -rw-r--r-- | handerror.h | 4 | ||||
| -rw-r--r-- | main.c | 116 | 
5 files changed, 68 insertions, 74 deletions
| @@ -53,7 +53,7 @@ char* splitPath(char *source, char *path, char *file)  			case '\\':  			case '/':  			{ -				print_error("[Error] You can't use these symbol at the beginning: '.', '/', '\\' \n"); +				printError("lpass: You can't use these symbol at the beginning: '.', '/', '\\' \n");  				break;  			}  			default: @@ -78,11 +78,11 @@ char* splitPath(char *source, char *path, char *file)  	return NULL;  } -int delete_file(char *file_path) +int deleteFile(char *file_path)  {  	int pid;  	pid = fork(); -	if(pid == -1) call_error(112); +	if(pid == -1) callError(112);  	if(pid == 0) { /* new process */  		execlp("rm", "rm", file_path, NULL);  		perror("rm"); @@ -93,11 +93,11 @@ int delete_file(char *file_path)  	return 1;  } -int delete_emptydir(char *dir_path) +int deleteEmptyDir(char *dir_path)  {  	int pid;  	pid = fork(); -	if(pid == -1) call_error(113); +	if(pid == -1) callError(113);  	if(pid == 0) { /* new process */  		#if defined(DEBUG)  			execlp("rmdir", "rmdir", "-p", dir_path, NULL); @@ -121,7 +121,7 @@ int checkFileExist(char *path_to_file)  		if(errno == ENOENT) { // file doesn't exist  			return 0;  		} -		else call_error(120); +		else callError(120);  	}  	fclose(pFile); @@ -1,4 +1,4 @@  char* splitPath(char *source, char *path, char *file); -int delete_file(char *file_path); -int delete_emptydir(char *dir_path); +int deleteFile(char *file_path); +int deleteEmptyDir(char *dir_path);  int checkFileExist(char *path_to_file);
\ No newline at end of file diff --git a/handerror.c b/handerror.c index 482b467..753e834 100644 --- a/handerror.c +++ b/handerror.c @@ -1,13 +1,13 @@  #include <stdio.h>  #include <stdlib.h> -void call_error(int num) +void callError(int num)  { -	fprintf(stderr, "Sorry, there was an error in the program [#%d]\n", num); +	fprintf(stderr, "lpass: Sorry, there was an error in the program [#%d]\n", num);  	exit(3);  } -void print_error(char *text) +void printError(char *text)  {  	fprintf(stderr, "%s", text);  	exit(4); diff --git a/handerror.h b/handerror.h index d4137a9..1241b8d 100644 --- a/handerror.h +++ b/handerror.h @@ -1,2 +1,2 @@ -void call_error(int num); -void print_error(char *text);
\ No newline at end of file +void callError(int num); +void printError(char *text);
\ No newline at end of file @@ -28,17 +28,17 @@ static void clearStdinBuff()  		;  } -static char* get_password(char *path, char *password) +static char* getPassword(char *path, char *password)  {  	FILE *filePass;  	filePass = fopen(path, "r");  	if(filePass == NULL) { -		call_error(110); +		callError(110);  	}  	char sign[MAXLEN_PASSWORD];  	if(!fgets(sign, sizeof(sign), filePass)) { -		call_error(111); +		callError(111);  	}  	strcpy(password, sign); @@ -46,12 +46,12 @@ static char* get_password(char *path, char *password)  	return password;  } -static void show_tree(char *path) +static void showTree(char *path)  {  	if(opendir(path) != NULL) { // if it's directory  		int pid;  		pid = fork(); -		if(pid == -1) call_error(101); +		if(pid == -1) callError(101);  		if(pid == 0) { /* new process */  			execlp("tree", "tree", "-C", "--noreport", path, NULL);  			perror("tree"); @@ -61,7 +61,7 @@ static void show_tree(char *path)  	}  	else {  		char password[MAXLEN_PASSWORD]; -		get_password(path, password); +		getPassword(path, password);  		printf("%s\n", password);  	}  } @@ -73,11 +73,11 @@ static void changePass(char *root_path, char *add_path, char *password)  	main_path = banks/france  	file_path = [number] */ -	char *main_path = malloc(sizeof(char) * strlen(add_path) + 1); -	char *file_path = malloc(sizeof(char) * strlen(add_path) + 1); +	char *main_path = malloc(sizeof(char) * strlen(add_path) + sizeof(char)); +	char *file_path = malloc(sizeof(char) * strlen(add_path) + sizeof(char));  	if(splitPath(add_path, main_path, file_path) == NULL) { -		print_error("[Error] The path you specified is incorrect\n"); +		printError("lpass: The path you specified is incorrect\n");  	}  	int pass_buf = strlen(root_path) + strlen(add_path); @@ -88,16 +88,16 @@ static void changePass(char *root_path, char *add_path, char *password)  	strcat(final_path, main_path);  	if(chdir(final_path) != 0) { -		call_error(107); +		callError(107);  	}  	FILE *filePass;  	filePass = fopen(file_path, "w");  	if(filePass == NULL) {  		if(errno == ENOENT) { // file doesn't exist -			print_error("Error: No such file exists\n"); +			printError("lpass: No such file exists\n");  		} -		call_error(114); +		callError(114);  	}  	fputs(password, filePass); @@ -117,7 +117,7 @@ static void insertPass(char *root_path, char *add_path, char *password)  	char *file_path = malloc(sizeof(char) * strlen(add_path) + 1);  	if(splitPath(add_path, main_path, file_path) == NULL) { -		print_error("[Error] The path you specified is incorrect\n"); +		printError("lpass: The path you specified is incorrect\n");  	}  	int pass_buf = strlen(root_path) + strlen(add_path); @@ -128,7 +128,7 @@ static void insertPass(char *root_path, char *add_path, char *password)  	strcat(final_path, main_path);  	int pid = fork(); -	if(pid == -1) call_error(103); +	if(pid == -1) callError(103);  	if(pid == 0) { /* new process */  		execlp("mkdir", "mkdir", "-p", main_path, NULL);  		perror("mkdir"); @@ -137,14 +137,14 @@ static void insertPass(char *root_path, char *add_path, char *password)  	wait(&pid);  	if(chdir(final_path) != 0) { -		call_error(107); +		callError(107);  	}  	// create file, copy password there  	FILE *filePass;  	filePass = fopen(file_path, "w");  	if(filePass == NULL) { -		call_error(108); +		callError(108);  	}  	fputs(password, filePass); @@ -153,7 +153,7 @@ static void insertPass(char *root_path, char *add_path, char *password)  	fclose(filePass);  } -static char *generate_password(char *dest, int amount) +static char *generatePassword(char *dest, int amount)  {  	char allowed_symbols[] = {  		'A','E','I','J','O','U','B','C','D','F','G','H', @@ -180,7 +180,7 @@ static char *generate_password(char *dest, int amount)  	return dest;  } -static void nonvisible_enter(int status) +static void nonvisibleEnter(int status)  {  	struct termios term_settings;  	tcgetattr(0, &term_settings); // get current settings @@ -193,7 +193,7 @@ static void nonvisible_enter(int status)  	tcsetattr(0, TCSANOW, &term_settings);  } -static int get_answer(char *text) +static int getAnswer(char *text)  {  	char answer;  	printf("%s\n", text); @@ -214,7 +214,7 @@ static int get_answer(char *text)  			}  			case EOF:  			{ -				print_error("Unexpected end of file\n"); +				printError("lpass: Unexpected end of file\n");  			}  			default:  			{ @@ -231,14 +231,14 @@ static char *typePass(char *text, char *dest)  {  	printf("%s", text);  	if(fgets(dest, (sizeof(char)*MAXLEN_PASSWORD + 1), stdin) == NULL) { -		nonvisible_enter(0); -		print_error("Unexpected end of file\n"); +		nonvisibleEnter(0); +		printError("lpass: Unexpected end of file\n");  	}  	int len = strlen(dest);  	if(len < 2) { -		nonvisible_enter(0); -		print_error("Error: uncorrect password\n"); +		nonvisibleEnter(0); +		printError("lpass: incorrect password\n");  	}  	if(dest[len-1] == '\n') { @@ -257,7 +257,7 @@ static char *typePass(char *text, char *dest)  int main(int argc, char *argv[])  {  	if(!isatty(0)) { // stdin -		print_error("Please, use a terminal to run this program\n"); +		printError("lpass: Please, use a terminal to run this program\n");  	}  	#if defined(DEBUG) @@ -286,21 +286,21 @@ int main(int argc, char *argv[])  		if(result != 'I') // if doesn't init  		{   			if(errno == ENOENT) { // file doesn't exist -				print_error("Before starting work, you must initialize LockPassword\n\ +				printError("lpass: Before starting work, you must initialize LockPassword\n\  					Use: lpass --init\n");  			} -			call_error(102); +			callError(102);  		}  	}  	else {  		if(result == 'I') { -			print_error("You already initialized LockPassword\n"); +			printError("lpass: You already initialized LockPassword\n");  		}  		else if(result != -1)  		{  			strcat(rootPath, ADDNAMETOFULL); // complements to full path  			if(chdir(rootPath) != 0) { -				call_error(112); +				callError(112);  			}  		}  	} @@ -316,26 +316,26 @@ int main(int argc, char *argv[])  			char *passPath = optarg;  			if(checkFileExist(passPath) == 0) { -				print_error("Error: No such file exists\n"); +				printError("lpass: No such file exists\n");  			}  			/* ask user about change pass */ -			int buffSize = (strlen("Do you want edit password in '' (Y/N)?") + strlen(passPath)) * sizeof(char) + 1; +			int buffSize = (strlen("Do you want edit password in '' (Y/N)?") + strlen(passPath)) * sizeof(char) + sizeof(char);  			char *str = malloc(buffSize); -  			snprintf(str, buffSize, "Do you want edit password in '%s' (Y/N)?", passPath); -			if(get_answer(str) != 1) { -				// free(str); + +			if(getAnswer(str) != 1) { +				free(str);  				return 0;  			}  			free(str);  			/* enter password */ -			nonvisible_enter(1); // change terminal work +			nonvisibleEnter(1); // change terminal work  			char pass_one[MAXLEN_PASSWORD], pass_two[MAXLEN_PASSWORD];  			typePass("Please type your new password: ", pass_one);  			typePass("Please type your new password again: ", pass_two); -			nonvisible_enter(0); +			nonvisibleEnter(0);  			if(strcmp(pass_one, pass_two) == 0) {  				printf("Password correct\n"); @@ -351,13 +351,13 @@ int main(int argc, char *argv[])  			char *passPath = argv[argc-1];  			char *lenPass = optarg; -			if(checkFileExist(passPath) == 0) { +			if(checkFileExist(passPath) == 1) {  				/* ask user about change pass */  				int buffSize = (strlen("Do you want generate new password and paste it in '' (Y/N)?") + strlen(passPath)) * sizeof(char) + 1;  				char *str = malloc(buffSize);  				snprintf(str, buffSize, "Do you want generate new password and paste it in '%s' (Y/N)?", passPath); -				if(get_answer(str) != 1) { +				if(getAnswer(str) != 1) {  					// free(str);  					return 0;  				} @@ -371,12 +371,12 @@ int main(int argc, char *argv[])  			if(n_symbols < 1 || n_symbols > 127) { -				print_error("Error: you typed an incorrect number"); +				printError("lpass: you typed an incorrect number");  			}  			/* generate password */  			char gpass[MAXLEN_PASSWORD]; -			generate_password(gpass, n_symbols); +			generatePassword(gpass, n_symbols);  			insertPass(rootPath, passPath, gpass);  			printf("Generated password: %s\n", gpass); @@ -386,16 +386,16 @@ int main(int argc, char *argv[])  		}  		case 'i': {  			if(checkFileExist(optarg) == 1) { -				printf("To change pass use lpass -e\n"); +				printf("lpass: To change pass use argument '-e'\n");  				return 0;  			}  			/* enter password */ -			nonvisible_enter(1); // change terminal work +			nonvisibleEnter(1); // change terminal work  			char pass_one[MAXLEN_PASSWORD], pass_two[MAXLEN_PASSWORD];  			typePass("Please type your password: ", pass_one);  			typePass("Please type your password again: ", pass_two); -			nonvisible_enter(0); +			nonvisibleEnter(0);  			if(strcmp(pass_one, pass_two) == 0) {  				printf("Password correct\n"); @@ -403,24 +403,24 @@ int main(int argc, char *argv[])  				insertPass(rootPath, optarg, pass_one);  				printf("Password added successfully for %s\n", optarg);  			} -			else printf("Passwords do not match\n"); +			else printf("lpass: Passwords do not match\n");  			break;  		}  		case 'R': {  			if(checkFileExist(optarg) == 0) { -				print_error("Error: No such file exists\n"); +				printError("lpass: No such file exists\n");  			}  			char *main_path = malloc(sizeof(char) * strlen(optarg) + 1);  			char *file_path = malloc(sizeof(char) * strlen(optarg) + 1);  			if(splitPath(optarg, main_path, file_path) == NULL) { // check correct input -				print_error("[Error] The path you specified is incorrect\n"); +				printError("lpass: The path you specified is incorrect\n");  			} -			if(delete_file(optarg)) { -				delete_emptydir(main_path); +			if(deleteFile(optarg)) { +				deleteEmptyDir(main_path);  			}  			free(main_path); @@ -428,29 +428,23 @@ int main(int argc, char *argv[])  			break;  		}  		case 'I': { -			int pid; -  			// create direction: -			pid = fork(); -			if(pid == -1) call_error(100); +			int pid = fork(); +			if(pid == -1) callError(100);  			if(pid == 0) { /* new process */  				execlp("mkdir", "mkdir", "-vp", rootPath, NULL);  				perror("mkdir");  				exit(4);  			}  			wait(&pid); -			printf("LockPassword initialized\n"); +			printf("LockPassword initialized successfully\n");  			break;  		}  		#if defined(DEBUG)  		case 't':  		{ -			char *main_path = malloc(sizeof(char) * strlen(optarg) + 1); -			char *file_path = malloc(sizeof(char) * strlen(optarg) + 1); - -			if(splitPath(optarg, main_path, file_path) == NULL) -				printf("NULL\n"); +			// for check new features:  			break;  		}  		#endif @@ -463,17 +457,17 @@ int main(int argc, char *argv[])  	{  		char *ptr;  		if(strcmp(argv[argc-1], argv[0]) == 0) { -			ptr = malloc(sizeof(char) * strlen(NAMEFILE) + 1); +			ptr = malloc(sizeof(char) * strlen(NAMEFILE) + sizeof(char));  			strcpy(ptr, NAMEFILE);  		}  		else {  			int buff_tree = strlen(NAMEFILE) + strlen(argv[argc-1]); -			ptr = malloc(sizeof(char) * buff_tree + 1 + 1); +			ptr = malloc(sizeof(char) * buff_tree + sizeof(char) + sizeof(char));  			strcpy(ptr, NAMEFILE);  			strcat(ptr, "/");  			strcat(ptr, argv[argc-1]);  		} -		show_tree(ptr); +		showTree(ptr);  		free(ptr);  	} | 
