Re: psql patch for displaying the username when asking password - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | Re: psql patch for displaying the username when asking password |
Date | |
Msg-id | 200507251717.j6PHHit14282@candle.pha.pa.us Whole thread Raw |
In response to | Re: psql patch for displaying the username when asking password (Adrian Maier <adrian.maier@gmail.com>) |
List | pgsql-patches |
Patch adjusted slightly, attached, and applied. Thanks. --------------------------------------------------------------------------- Adrian Maier wrote: > On 6/30/05, Peter Eisentraut <peter_e@gmx.net> wrote: > > Am Donnerstag, 30. Juni 2005 09:34 schrieb Adrian Maier: > > > The attached patch modifies the message displayed by psql > > > when asking the password "Password: " > > > to include the username as well: "Password for user postgres : ". > > > > I can't decode your attachment so I don't know if this is a typo or > > actually in the patch, but there shouldn't be a space after the user name. > > There was a space there. I've removed the space between > username and colons. The space after the colons is ok, I hope ? > > I'm attaching the modified patch. > > Cheers, > Adrian Maier [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 7: don't forget to increase your free space map settings -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 Index: src/bin/psql/command.c =================================================================== RCS file: /cvsroot/pgsql/src/bin/psql/command.c,v retrieving revision 1.150 diff -c -c -r1.150 command.c *** src/bin/psql/command.c 18 Jul 2005 20:57:53 -0000 1.150 --- src/bin/psql/command.c 25 Jul 2005 17:13:42 -0000 *************** *** 911,916 **** --- 911,917 ---- const char *dbparam = NULL; const char *userparam = NULL; const char *pwparam = NULL; + char *password_prompt = NULL; char *prompted_password = NULL; bool need_pass; bool success = false; *************** *** 930,938 **** else userparam = new_user; /* need to prompt for password? */ if (pset.getPassword) ! pwparam = prompted_password = simple_prompt("Password: ", 100, false); /* * Use old password (if any) if no new one given and we are --- 931,948 ---- else userparam = new_user; + if (userparam == NULL) + password_prompt = strdup("Password: "); + else + { + password_prompt = malloc(strlen("Password for user %s: ") - 2 + + strlen(userparam) + 1); + sprintf(password_prompt,"Password for user %s: ", userparam); + } + /* need to prompt for password? */ if (pset.getPassword) ! pwparam = prompted_password = simple_prompt(password_prompt, 100, false); /* * Use old password (if any) if no new one given and we are *************** *** 956,966 **** need_pass = true; free(prompted_password); prompted_password = NULL; ! pwparam = prompted_password = simple_prompt("Password: ", 100, false); } } while (need_pass); free(prompted_password); /* * If connection failed, try at least keep the old one. That's --- 966,977 ---- need_pass = true; free(prompted_password); prompted_password = NULL; ! pwparam = prompted_password = simple_prompt(password_prompt, 100, false); } } while (need_pass); free(prompted_password); + free(password_prompt); /* * If connection failed, try at least keep the old one. That's Index: src/bin/psql/startup.c =================================================================== RCS file: /cvsroot/pgsql/src/bin/psql/startup.c,v retrieving revision 1.119 diff -c -c -r1.119 startup.c *** src/bin/psql/startup.c 14 Jul 2005 08:42:37 -0000 1.119 --- src/bin/psql/startup.c 25 Jul 2005 17:13:42 -0000 *************** *** 106,111 **** --- 106,112 ---- char *username = NULL; char *password = NULL; + char *password_prompt = NULL; bool need_pass; set_pglocale_pgservice(argv[0], "psql"); *************** *** 188,195 **** username = pg_strdup(options.username); } if (pset.getPassword) ! password = simple_prompt("Password: ", 100, false); /* loop until we have a password if requested by backend */ do --- 189,205 ---- username = pg_strdup(options.username); } + if (options.username == NULL) + password_prompt = strdup("Password: "); + else + { + password_prompt = malloc(strlen("Password for user %s: ") - 2 + + strlen(options.username) + 1); + sprintf(password_prompt,"Password for user %s: ", options.username); + } + if (pset.getPassword) ! password = simple_prompt(password_prompt, 100, false); /* loop until we have a password if requested by backend */ do *************** *** 207,218 **** need_pass = true; free(password); password = NULL; ! password = simple_prompt("Password: ", 100, false); } } while (need_pass); free(username); free(password); if (PQstatus(pset.db) == CONNECTION_BAD) { --- 217,229 ---- need_pass = true; free(password); password = NULL; ! password = simple_prompt(password_prompt, 100, false); } } while (need_pass); free(username); free(password); + free(password_prompt); if (PQstatus(pset.db) == CONNECTION_BAD) {
pgsql-patches by date: