diff --git a/src/bin/scripts/common.c b/src/bin/scripts/common.c index a1a6993e72..2e0612a8e7 100644 --- a/src/bin/scripts/common.c +++ b/src/bin/scripts/common.c @@ -5,7 +5,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Header: /cvsroot/pgsql/src/bin/scripts/common.c,v 1.2 2003/04/04 20:42:13 momjian Exp $ + * $Header: /cvsroot/pgsql/src/bin/scripts/common.c,v 1.3 2003/05/27 19:36:54 petere Exp $ * *------------------------------------------------------------------------- */ @@ -153,3 +153,24 @@ executeQuery(PGconn *conn, const char *query, const char *progname, bool echo) return res; } + + +/* + * Check yes/no answer in a localized way. 1=yes, 0=no, -1=neither. + */ + +/* translator: Make sure the (y/n) prompts match the translation of this. */ +#define PG_YESLETTER gettext_noop("y") +/* translator: Make sure the (y/n) prompts match the translation of this. */ +#define PG_NOLETTER gettext_noop("n") + +int +check_yesno_response(const char *string) +{ + if (strcmp(string, gettext(PG_YESLETTER)) == 0) + return 1; + else if (strcmp(string, gettext(PG_NOLETTER)) == 0) + return 0; + else + return -1; +} diff --git a/src/bin/scripts/common.h b/src/bin/scripts/common.h index 6122b686ce..8fb33dfd03 100644 --- a/src/bin/scripts/common.h +++ b/src/bin/scripts/common.h @@ -32,3 +32,6 @@ connectDatabase(const char *dbname, const char *pghost, const char *pgport, PGresult * executeQuery(PGconn *conn, const char *command, const char *progname, bool echo); + +int +check_yesno_response(const char *string); diff --git a/src/bin/scripts/createuser.c b/src/bin/scripts/createuser.c index e58952977d..864a0ddbe9 100644 --- a/src/bin/scripts/createuser.c +++ b/src/bin/scripts/createuser.c @@ -5,7 +5,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Header: /cvsroot/pgsql/src/bin/scripts/createuser.c,v 1.2 2003/05/14 03:26:03 tgl Exp $ + * $Header: /cvsroot/pgsql/src/bin/scripts/createuser.c,v 1.3 2003/05/27 19:36:54 petere Exp $ * *------------------------------------------------------------------------- */ @@ -166,7 +166,7 @@ main(int argc, char *argv[]) char *reply; reply = simple_prompt("Shall the new user be allowed to create databases? (y/n) ", 1, true); - if (reply[0] == 'y' || reply[0] == 'Y') + if (check_yesno_response(reply) == 1) createdb = +1; else createdb = -1; @@ -177,7 +177,7 @@ main(int argc, char *argv[]) char *reply; reply = simple_prompt("Shall the new user be allowed to create more new users? (y/n) ", 1, true); - if (reply[0] == 'y' || reply[0] == 'Y') + if (check_yesno_response(reply) == 1) adduser = +1; else adduser = -1; diff --git a/src/bin/scripts/dropdb.c b/src/bin/scripts/dropdb.c index 796930c415..2a0831e291 100644 --- a/src/bin/scripts/dropdb.c +++ b/src/bin/scripts/dropdb.c @@ -5,7 +5,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Header: /cvsroot/pgsql/src/bin/scripts/dropdb.c,v 1.2 2003/05/14 03:26:03 tgl Exp $ + * $Header: /cvsroot/pgsql/src/bin/scripts/dropdb.c,v 1.3 2003/05/27 19:36:54 petere Exp $ * *------------------------------------------------------------------------- */ @@ -107,7 +107,7 @@ main(int argc, char *argv[]) printf(_("Database \"%s\" will be permanently deleted.\n"), dbname); reply = simple_prompt("Are you sure? (y/n) ", 1, true); - if (reply[0] != 'y' && reply[0] != 'Y') + if (check_yesno_response(reply) != 1) exit(0); } diff --git a/src/bin/scripts/dropuser.c b/src/bin/scripts/dropuser.c index 6bc6359cd7..db340050a8 100644 --- a/src/bin/scripts/dropuser.c +++ b/src/bin/scripts/dropuser.c @@ -5,7 +5,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Header: /cvsroot/pgsql/src/bin/scripts/dropuser.c,v 1.2 2003/05/14 03:26:03 tgl Exp $ + * $Header: /cvsroot/pgsql/src/bin/scripts/dropuser.c,v 1.3 2003/05/27 19:36:55 petere Exp $ * *------------------------------------------------------------------------- */ @@ -108,7 +108,7 @@ main(int argc, char *argv[]) printf(_("User \"%s\" will be permanently deleted.\n"), dropuser); reply = simple_prompt("Are you sure? (y/n) ", 1, true); - if (reply[0] != 'y' && reply[0] != 'Y') + if (check_yesno_response(reply) != 1) exit(0); }