|
7 | 7 | * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group |
8 | 8 | * Portions Copyright (c) 1994, Regents of the University of California |
9 | 9 | * |
10 | | - * $PostgreSQL: pgsql/src/bin/scripts/common.c,v 1.20 2006/03/05 15:58:52 momjian Exp $ |
| 10 | + * $PostgreSQL: pgsql/src/bin/scripts/common.c,v 1.21 2006/09/22 18:50:41 petere Exp $ |
11 | 11 | * |
12 | 12 | *------------------------------------------------------------------------- |
13 | 13 | */ |
@@ -198,18 +198,29 @@ executeCommand(PGconn *conn, const char *query, |
198 | 198 | * Check yes/no answer in a localized way.1=yes, 0=no, -1=neither. |
199 | 199 | */ |
200 | 200 |
|
201 | | -/* translator:Make sure the (y/n) prompts match the translation of this. */ |
| 201 | +/* translator:abbreviation for "yes" */ |
202 | 202 | #definePG_YESLETTER gettext_noop("y") |
203 | | -/* translator:Make sure the (y/n) prompts match the translation of this. */ |
| 203 | +/* translator:abbreviation for "no" */ |
204 | 204 | #definePG_NOLETTER gettext_noop("n") |
205 | 205 |
|
206 | | -int |
207 | | -check_yesno_response(constchar*string) |
| 206 | +bool |
| 207 | +yesno_prompt(constchar*question) |
208 | 208 | { |
209 | | -if (strcmp(string,_(PG_YESLETTER))==0) |
210 | | -return1; |
211 | | -elseif (strcmp(string,_(PG_NOLETTER))==0) |
212 | | -return0; |
213 | | -else |
214 | | -return-1; |
| 209 | +staticcharprompt[128]; |
| 210 | + |
| 211 | +for (;;) |
| 212 | +{ |
| 213 | +char*resp; |
| 214 | + |
| 215 | +/* translator: This is a question followed by the translated options for "yes" and "no". */ |
| 216 | +snprintf(prompt,sizeof(prompt),_("%s (%s/%s) "),_(question),_(PG_YESLETTER),_(PG_NOLETTER)); |
| 217 | +resp=simple_prompt(prompt,1, true); |
| 218 | + |
| 219 | +if (strcmp(resp,_(PG_YESLETTER))==0) |
| 220 | +return true; |
| 221 | +elseif (strcmp(resp,_(PG_NOLETTER))==0) |
| 222 | +return false; |
| 223 | + |
| 224 | +printf(_("Please answer \"%s\" or \"%s\".\n"),_(PG_YESLETTER),_(PG_NOLETTER)); |
| 225 | +} |
215 | 226 | } |