exit(0);
genkey_main(int argn, char *argv[]){	int val;	char *user, *passwd;	tcfspwdb *userinfo;	unsigned char *newkey, *cryptedkey;	tcfspwdb *user_info = NULL;	/*	 * Going to check arguments	 */	while ((val = getopt(argn, argv, "h")) != EOF)		switch (val) {		case 'h':			printf(genkey_usage, argv[0]);			exit(OK);			break; /* Useless code */		default:			fprintf(stderr, "Try %s --help for more information.\n", argv[0]);			exit(ER_UNKOPT);			break;		}	if (argn - optind)		tcfs_error(ER_UNKOPT, NULL);	/*	 * Must be root to do all this stuff	 */	if (geteuid())		tcfs_error(ER_CUSTOM, "I don't have root privileges!");	/*	 * Authenticate user	 */	if (!unix_auth(&user, &passwd, TRUE))		tcfs_error(ER_CUSTOM, "Who are you?!");	if (!tcfs_getpwnam(user, &user_info))		tcfs_error(ER_CUSTOM,		    "You do not have an entry in the TCFS key database.");	if (strlen(user_info->upw))		tcfs_error(ER_CUSTOM, "You already have a TCFS key.");	/*	 * Generate a new key for the user.	 */	newkey = gentcfskey();	/*	 * Encrypt the generated key with user password	 */	cryptedkey = (char *)calloc(UUKEYSIZE + 1, sizeof(char));	if (!cryptedkey)		tcfs_error(ER_MEM, NULL);		if (!tcfs_encrypt_key(passwd, newkey, KEYSIZE, cryptedkey,	    UUKEYSIZE + 1))		tcfs_error(ER_MEM, NULL);	/*	 * Update TCFS key database	 */	if (!tcfspwdbr_new(&userinfo))		tcfs_error(ER_MEM, NULL);	if (!tcfspwdbr_edit(&userinfo, F_USR|F_PWD, user, cryptedkey))		tcfs_error(ER_MEM, NULL);	/* TODO:	   if (!change && tcfs_getpwnam(user, &userinfo))	   tcfs_error(ER_CUSTOM, "Use -c to change the key.");	*/	if (!tcfs_putpwnam(user, userinfo, U_CHG))		tcfs_error(ER_CUSTOM, "Error: cannot generate key.");	tcfs_error(ER_CUSTOM, "\nKey succesfully generated.");}