Article View: es.comp.os.linux.programacion
Article #15853Re: fflush(stdin) se me lo pasa por el forro?
From: Ignacio Arenaza
Date: Sat, 27 May 2000 00:00
Date: Sat, 27 May 2000 00:00
73 lines
3911 bytes
3911 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
>>>>> "Santiago" == Santiago Romero <compiler@jet.es> writes:
Santiago> llega un momento en que algunos scanfs se los salta,
Santiago> se los pasa por el forro, y el getchar tambien... :(
....
Santiago> cuando yo quiero hacer una simple pausa del tipo "Pulse
Santiago> enter para continuar".
Estooooo, aqui estas hablando de dos cosas bien diferentes. A ver si
nos lo aclaras, que nos estas volviendo locos ;-)
En caso de que hables de lo segundo. Si lo que quieres es que no haya
nada en la entrada estandar, lee todo lo que hay alli y lo descartas y
listo. Eso si, cuidado con esto, que uno nunca sabe de donde esta
leyendo ni cuando hay en la entrada. Basicamente lo que te propongo
es que te construyas tu propia fflush(stdin).
Para ello hay que tener cuidado con que stdin este "unido" a una
terminal. De lo contrario, podrias estar leyendo hasta el fin de los
tiempos desde stdin[*]. El hecho de estar unido a una terminal da
"ciertas" garantias, ya que estas "suelen" funcionar en modo linea, lo
cual hace que la entrada se realice linea por linea y hasta que el
usuario no pulsa enter no se continua el proceso de entrada, con lo
cual es mas dificil introducir "zillones" de caracteres.
Por tanto, basta con leer (y descartar) hasta el fin de linea y
listo.
Saludos. I�aki.
[*] Hay una anecdota muy curiosa en el libro "Practical Unix &
Internet Security".
El experto en segudidad Tsutomu Shimomura (el que trinco a Mitnick) se
conecto un dia a un servidor FTP anonimo y vio que durante el proceso
de la conexion el servidor FTP le hizo un finger a su maquina con el
nombre de usuario que habia usado para acceder al servidor FTP. El tio
este se dijo �para que narices hacen una verificacion de mi nombre de
usuario si se supone que esto es un servidor _anonimo_?
Asi que ni corto ni perezoso, configuro su /etc/inetd.conf para que
redirigiera las peticiones de finger al servicio chargen (que
basicamente se dedica a escupir basura hasta que tu cierras la
conexion; es un servicio de test).
Se conecto de nuevo al servidor FTP anonimo y dejo la conexion en
marcha. Al cabo de unas horas comprobo que la conexion a su servicio
finger se habia roto y comprobo tambien que el servidor FTP no
respondia a las peticiones. Simplemente habia cascado ;-)
Al dia siguiente el servidor FTP ya esta de nuevo en marcha... pero ya
no hacia conexiones de vuelta al servicio finger ;-)
Asi que la moraleja es: si vas a pedir datos, estate preparado para
leer lo que te venga o toma medidas ;-)
- --
Get PGP/GPG Keys at http://personales.jet.es/inaki.arenaza/pgpkey.html
A proud member of GULA - http://gula.hispalinux.es/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.1 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.4 and Gnu Privacy Guard
iD8DBQE5LaRbZXLnGT1HLgcRAncgAKCRDSu7WQeker6eW6RobsdlRyC5jgCdGFbD
vQpq6aNEzcHFsuZzjMfPdcI=
=K7fl
-----END PGP SIGNATURE-----
Technical Details
Message-ID:
<878zwy2sgz.fsf@eb2ebu.ampr.org>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<slrn8ifed1.190.nop_linux@compiler.linux.es> <8gb9t8$7de$1@news.unizar.es> <slrn8iq5fa.mk.compiler@compiler.linux.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,d38036c26efcd863 X-Google-Attributes: gidf86c8,public From: Ignacio Arenaza <iarenaza@eb2ebu.ampr.org> Subject: Re: fflush(stdin) se me lo pasa por el forro? Date: 2000/05/27 Message-ID: <878zwy2sgz.fsf@eb2ebu.ampr.org> X-Deja-AN: 627919079 Content-Transfer-Encoding: 8bit References: <slrn8ifed1.190.nop_linux@compiler.linux.es> <8gb9t8$7de$1@news.unizar.es> <slrn8iq5fa.mk.compiler@compiler.linux.es> Content-Type: text/plain; charset=iso-8859-1 X-Complaints-To: abuse@news.wanadoo.es X-Trace: m2newsread.uni2.es 959426909 62.36.80.31 (Sat, 27 May 2000 13:28:29 MET DST) Organization: Wanadoo Usenet News - Visita http://www.wanadoo.es/ MIME-Version: 1.0 User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.5 NNTP-Posting-Date: Sat, 27 May 2000 13:28:29 MET DST Newsgroups: es.comp.os.linux.programacion