*
* Any resemblance to persons living or dead is strictly coincidental. And
* if you believe *that*...
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <time.h>
#include <sys/socket.h>
static int path[5];
static int j, k, scratchloc, pies;
static char inp[BUFSIZ]; /* common input buffer */
+#define NUMBERS "0123456789"
#define YOU 0
#define RMS 1
#define STARLET1 2
#define LOSE -1
static int finished;
+#define IGNORE(r) do{if(r);}while(0)
+
static int cave[20][3] =
{
{1,4,7},
char *prompt;
{
(void) printf("%s? ", prompt);
- if(fgets(inp, sizeof(inp), stdin))
+ if (fgets(inp, sizeof(inp), stdin))
return(tolower(inp[0]));
else {
fputs("\n",stdout);
PM(" If a pie hits the superhack, you win. If it hits you, you lose!\n");
(void) fputs("<Press return to continue>", stdout);
- (void) fgets(inp, sizeof(inp), stdin);
+ IGNORE(fgets(inp, sizeof(inp), stdin));
(void) putchar('\n');
PM("Hazards:");
extern void check_shot(), move_superhack();
int j9;
- j9 = sscanf(inp + isalpha(inp[0]), "%d %d %d %d %d",
+ j9 = sscanf(inp + strcspn(inp, NUMBERS), "%d %d %d %d %d",
&path[0], &path[1], &path[2], &path[3], &path[4]);
+
if (j9 < 1)
{
PM("Sorry, I didn't see any room numbers after your throw command.");
void move()
{
- if (sscanf(inp + isalpha(inp[0]), "%d", &scratchloc) < 1)
+ if (sscanf(inp + strcspn(inp, NUMBERS), "%d", &scratchloc) < 1)
{
PM("Sorry, I didn't see a room number after your `m' command.");
return;