diff options
| author | dequis <dx@dxzone.com.ar> | 2015-01-16 16:50:24 -0300 | 
|---|---|---|
| committer | dequis <dx@dxzone.com.ar> | 2015-01-16 16:50:24 -0300 | 
| commit | eabe6d4032eada515a1038838b64e34afc84b3e8 (patch) | |
| tree | ec5401716ed4fbf0583e70000cd07fbe9c47b8aa | |
| parent | 6b13103dad92d505e038c268af66aeb04b7b4d87 (diff) | |
cmd_otr_keygen: improve argument parsing
| -rw-r--r-- | otr.c | 17 | 
1 files changed, 4 insertions, 13 deletions
| @@ -1116,29 +1116,20 @@ void cmd_otr_info(irc_t *irc, char **args)  void cmd_otr_keygen(irc_t *irc, char **args)  { -	int i, n;  	account_t *a; -	n = atoi(args[1]); -	if(n<0 || (!n && strcmp(args[1], "0"))) { -		irc_rootmsg(irc, "%s: invalid account number", args[1]); -		return; -	} -	 -	a = irc->b->accounts; -	for(i=0; i<n && a; i++, a=a->next); -	if(!a) { -		irc_rootmsg(irc, "%s: no such account", args[1]); +	if ((a = account_get(irc->b, args[1])) == NULL) { +		irc_rootmsg(irc, "Could not find account `%s'.", args[1]);  		return;  	}  	if(keygen_in_progress(irc, a->user, a->prpl->name)) { -		irc_rootmsg(irc, "keygen for account %d already in progress", n); +		irc_rootmsg(irc, "keygen for account `%s' already in progress", a->tag);  		return;  	}  	if(otrl_privkey_find(irc->otr->us, a->user, a->prpl->name)) { -		char *s = g_strdup_printf("account %d already has a key, replace it?", n); +		char *s = g_strdup_printf("account `%s' already has a key, replace it?", a->tag);  		query_add(irc, NULL, s, yes_keygen, NULL, NULL, a);  		g_free(s);  	} else { | 
