|
1 | | -/* $NetBSD: input.c,v 1.20 2006/06/07 09:24:26 jnemeth Exp $ */ |
| 1 | +/* $NetBSD: input.c,v 1.21 2006/10/07 18:29:02 elad Exp $ */ |
2 | 2 |
|
3 | 3 | /*- |
4 | 4 | * Copyright (c) 1990, 1993 |
|
46 | 46 | #if 0 |
47 | 47 | static char sccsid[] = "@(#)input.c 8.1 (Berkeley) 5/31/93"; |
48 | 48 | #else |
49 | | -__RCSID("$NetBSD: input.c,v 1.20 2006/06/07 09:24:26 jnemeth Exp $"); |
| 49 | +__RCSID("$NetBSD: input.c,v 1.21 2006/10/07 18:29:02 elad Exp $"); |
50 | 50 | #endif |
51 | 51 | #endif /* not lint */ |
52 | 52 |
|
@@ -517,28 +517,40 @@ descend(int c __attribute__((__unused__))) |
517 | 517 | const char * |
518 | 518 | setalt(int c) |
519 | 519 | { |
520 | | - if ((p.altitude == c - '0') && (p.new_altitude == p.altitude)) |
| 520 | + int newalt = c - '0'; |
| 521 | + if ((p.altitude == newalt) && (p.new_altitude == p.altitude)) |
521 | 522 | return ("Already at that altitude"); |
522 | | - p.new_altitude = c - '0'; |
| 523 | + if (p.new_altitude == newalt) { |
| 524 | + return ("Already going to that altitude"); |
| 525 | + } |
| 526 | + p.new_altitude = newalt; |
523 | 527 | return (NULL); |
524 | 528 | } |
525 | 529 |
|
526 | 530 | const char * |
527 | 531 | setrelalt(int c) |
528 | 532 | { |
| 533 | + int newalt; |
| 534 | + |
529 | 535 | if (c == 0) |
530 | 536 | return ("altitude not changed"); |
531 | 537 |
|
532 | 538 | switch (dir) { |
533 | 539 | case D_UP: |
534 | | - p.new_altitude = p.altitude + c - '0'; |
| 540 | + newalt = p.altitude + c - '0'; |
535 | 541 | break; |
536 | 542 | case D_DOWN: |
537 | | - p.new_altitude = p.altitude - (c - '0'); |
| 543 | + newalt = p.altitude - (c - '0'); |
538 | 544 | break; |
539 | 545 | default: |
540 | 546 | return ("Unknown case in setrelalt! Get help!"); |
541 | 547 | } |
| 548 | + |
| 549 | + if (p.new_altitude == newalt) |
| 550 | + return ("Already going to that altitude"); |
| 551 | + |
| 552 | + p.new_altitude = newalt; |
| 553 | + |
542 | 554 | if (p.new_altitude < 0) |
543 | 555 | return ("Altitude would be too low"); |
544 | 556 | else if (p.new_altitude > 9) |
|
0 commit comments