* lib/mu-util: add mu_util_read_password

This commit is contained in:
djcb 2012-09-13 22:56:08 +03:00
parent c19b38654b
commit 52bc720258
2 changed files with 34 additions and 0 deletions

View File

@ -494,3 +494,27 @@ mu_util_printerr_encoded (const char *frm, ...)
return rv;
}
char*
mu_util_read_password (const char *prompt)
{
char *pass, *tmp;
g_return_val_if_fail (prompt, NULL);
/* note: getpass is obsolete; replace with something better */
tmp = getpass (prompt);
if (!tmp) {
if (errno)
g_warning ("error: %s", strerror(errno));
return NULL;
}
/* make sure we can free with g_free(), not free() */
pass = g_strdup (tmp);
free (tmp);
return pass;
}

View File

@ -179,6 +179,16 @@ gboolean mu_util_printerr_encoded (const char *frm, ...) G_GNUC_PRINTF(1,2);
/**
* read a password from stdin (without echoing), and return it.
*
* @param prompt the prompt text before the password
*
* @return the password (free with g_free), or NULL
*/
char* mu_util_read_password (const char *prompt)
G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
/**
* Try to 'play' (ie., open with it's associated program) a file. On
* MacOS, the the program 'open' is used for this; on other platforms