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) {