/*
* call-seq:
* PGconn.encrypt_password( password, username ) -> String
*
* This function is intended to be used by client applications that
* send commands like: +ALTER USER joe PASSWORD 'pwd'+.
* The arguments are the cleartext password, and the SQL name
* of the user it is for.
*
* Return value is the encrypted password.
*/
static VALUE
pgconn_s_encrypt_password(VALUE self, VALUE password, VALUE username)
{
char *encrypted = NULL;
VALUE rval = Qnil;
Check_Type(password, T_STRING);
Check_Type(username, T_STRING);
encrypted = PQencryptPassword(StringValuePtr(password), StringValuePtr(username));
rval = rb_str_new2( encrypted );
PQfreemem( encrypted );
OBJ_INFECT( rval, password );
OBJ_INFECT( rval, username );
return rval;
}