[net.games.hack] Spaces on input

kyrimis@tilt.FUN (Kriton Kyrimis) (04/22/85)

The input routine in hack 1.0.2 does not seem to recognise spaces. This is bad
enough when you have to call a scroll of enchant armor "enchant_armor" or
your dog "the_ferocious_man-eating_dog, but the real problem is with the use
of wands of wishing. Saying "+3crysknife" works, and "genocide" does give you a
scroll of genocide, but how do you ask for more complex things like plate mail
(or +7 plate mail - does this feature still exist in the new version?)

	Kriton Kyrimis	(princeton!tilt!kyrimis)

ee163acp@sdcc13.UUCP (DARIN JOHNSON) (04/24/85)

In article <275@tilt.FUN>, kyrimis@tilt.FUN (Kriton Kyrimis) writes:
> The input routine in hack 1.0.2 does not seem to recognise spaces. This is bad
> enough when you have to call a scroll of enchant armor "enchant_armor" or
> your dog "the_ferocious_man-eating_dog, but the real problem is with the use
> of wands of wishing. Saying "+3crysknife" works, and "genocide" does give you a
> scroll of genocide, but how do you ask for more complex things like plate mail
> (or +7 plate mail - does this feature still exist in the new version?)

Funny, I wish for +3 crysknife all the time and it works fine.  There is
an option "rest on space" that may inadvertantly cause this to work or
not, but I'm not sure.  I call my dog things with spaces in it and it
works also.  I would look at the source (If you have it) to see if there
is anything system dependent.

aeb@mcvax.UUCP (Andries Brouwer) (04/24/85)

In article <275@tilt.FUN> kyrimis@tilt.FUN (Kriton Kyrimis) writes:
>
>The input routine in hack 1.0.2 does not seem to recognise spaces.

It seems that a space is not everywhere regarded as a printing character.
Fix in hack.tty.c:
127c127
< 		} else if(isprint(c)) {
---
> 		} else if(isprint(c) || c == ' ') {

ampe@ucla-cs.UUCP (04/25/85)

In article <275@tilt.FUN> kyrimis@tilt.FUN (Kriton Kyrimis) writes:

>The input routine in hack 1.0.2 does not seem to recognise spaces. ...
...
>	Kriton Kyrimis	(princeton!tilt!kyrimis)

The bug lies in the getlin() routine in hack.tty.c.  This file includes
ctype.h, which defines isprint().  On some machines, isprint() answers
false to spaces, thus the error.  A fix is to change line 127 of
hack.tty.c from:

		} else if(isprint(c)) {
to:
		} else if(isprint(c) || c == ' ') {


			--John Ampe
			    UCLA