2001-03-16 22:47:14 +00:00
|
|
|
/* vi: set sw=4 ts=4: */
|
|
|
|
/*
|
2003-03-19 09:13:01 +00:00
|
|
|
* bb_ask_confirmation implementation for busybox
|
2001-03-16 22:47:14 +00:00
|
|
|
*
|
2003-03-19 09:13:01 +00:00
|
|
|
* Copyright (C) 2003 Manuel Novoa III <mjn3@codepoet.org>
|
2001-03-16 22:47:14 +00:00
|
|
|
*
|
2006-07-10 11:41:19 +00:00
|
|
|
* Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
|
2003-03-19 09:13:01 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
/* Read a line from stdin. If the first non-whitespace char is 'y' or 'Y',
|
|
|
|
* return 1. Otherwise return 0.
|
2001-03-16 22:47:14 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include <stdio.h>
|
2003-03-19 09:13:01 +00:00
|
|
|
#include <ctype.h>
|
2001-03-16 22:47:14 +00:00
|
|
|
#include "libbb.h"
|
|
|
|
|
2003-03-19 09:13:01 +00:00
|
|
|
int bb_ask_confirmation(void)
|
2001-03-16 22:47:14 +00:00
|
|
|
{
|
2003-03-19 09:13:01 +00:00
|
|
|
int retval = 0;
|
|
|
|
int first = 1;
|
|
|
|
int c;
|
2001-03-16 22:47:14 +00:00
|
|
|
|
2003-03-19 09:13:01 +00:00
|
|
|
while (((c = getchar()) != EOF) && (c != '\n')) {
|
|
|
|
/* Make sure we get the actual function call for isspace,
|
|
|
|
* as speed is not critical here. */
|
|
|
|
if (first && !(isspace)(c)) {
|
|
|
|
--first;
|
|
|
|
if ((c == 'y') || (c == 'Y')) {
|
|
|
|
++retval;
|
|
|
|
}
|
2001-03-16 22:47:14 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2003-03-19 09:13:01 +00:00
|
|
|
return retval;
|
|
|
|
}
|