projects
/
super-star-trek.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Color is working.
[super-star-trek.git]
/
sst.c
diff --git
a/sst.c
b/sst.c
index 5cba52ea154cc675bc71f5a390360149e9bd4756..f6b21c7c2be6c419ee4446bcaae68672649a8084 100644
(file)
--- a/
sst.c
+++ b/
sst.c
@@
-1,19
+1,14
@@
#define INCLUDED // Define externs here
#include <ctype.h>
#include <getopt.h>
#define INCLUDED // Define externs here
#include <ctype.h>
#include <getopt.h>
-#ifdef SERGEEV
-#include <conio.h>
#include <time.h>
#include "sstlinux.h"
#include <time.h>
#include "sstlinux.h"
-#endif /* SERGEEV */
#include "sst.h"
#ifndef SSTDOC
#define SSTDOC "sst.doc"
#endif
#include "sst.h"
#ifndef SSTDOC
#define SSTDOC "sst.doc"
#endif
-static char line[128], *linep = line;
-
/*
Here are Tom Almy's changes:
/*
Here are Tom Almy's changes:
@@
-51,139
+46,154
@@
Here are Tom Almy's changes:
6. Perhaps cloaking to be added later? BSD version
6. Perhaps cloaking to be added later? BSD version
-Here are Stas Sergeev's changes (controlled by the proprocessor symbol
-SERGEEV, not yet completely merged):
+Here are Stas Sergeev's changes:
1. The Space Thingy can be shoved, if you it ram, and can fire back if
fired upon.
1. The Space Thingy can be shoved, if you it ram, and can fire back if
fired upon.
-
1
The Tholian can be hit with phasers
+
2.
The Tholian can be hit with phasers
-
2
. When you are docked, base covers you with an almost invincible shields
+
3
. When you are docked, base covers you with an almost invincible shields
(a commander can still ram you, or a Romulan can destroy the base,
or a SCom can even succeed with direct attack IIRC, but this rarely
happens).
(a commander can still ram you, or a Romulan can destroy the base,
or a SCom can even succeed with direct attack IIRC, but this rarely
happens).
-
3
. SCom can't escape from you if no more enemies remain (without this,
-
chasing SCom can take an eternity).
+
4
. SCom can't escape from you if no more enemies remain (without this,
+ chasing SCom can take an eternity).
-
4
. Probe target you enter is now the destination quadrant. Before I don't
-
remember what it was, but it was something I had difficulty using)
+
5
. Probe target you enter is now the destination quadrant. Before I don't
+ remember what it was, but it was something I had difficulty using)
-
5
. Secret password is now autogenerated.
+
6
. Secret password is now autogenerated.
-
6. "Plaque" is adjusted for A4 paper:
)
+
7. "Plaque" is adjusted for A4 paper :-
)
-
7
. Phasers now tells you how much energy needed, but only if the computer
+
8
. Phasers now tells you how much energy needed, but only if the computer
is alive.
is alive.
-
8
. Planets are auto-scanned when you enter the quadrant.
+
9
. Planets are auto-scanned when you enter the quadrant.
-
9
. Mining or using crystals in presense of enemy now yields an attack.
+
10
. Mining or using crystals in presense of enemy now yields an attack.
There are other minor adjustments to what yields an attack
and what does not.
There are other minor adjustments to what yields an attack
and what does not.
-
10
. Ramming a black hole is no longer instant death. There is a
-
chance you might get timewarped instead.
+
11
. Ramming a black hole is no longer instant death. There is a
+ chance you might get timewarped instead.
- */
+ 12. "freeze" command reverts to "save", most people will understand this
+ better anyway.
-static char *commands[] = {
-#ifdef SERGEEV
- "--",
- "---",
-#else
- "srscan",
- "lrscan",
-#endif /* SERGEEV */
- "phasers",
-#ifdef SERGEEV
- "torpedo",
-#else
- "photons",
-#endif /* SERGEEV */
- "move",
- "shields",
- "dock",
- "damages",
- "chart",
- "impulse",
- "rest",
- "warp",
-#ifdef SERGEEV
- "score",
- "----",
-#else
- "status",
- "sensors",
-#endif /* SERGEEV */
- "orbit",
- "transport",
- "mine",
- "crystals",
- "shuttle",
- "planets",
-#ifdef SERGEEV
- "-----",
-#else
- "request",
-#endif /* SERGEEV */
- "report",
- "computer",
- "commands",
- "emexit",
- "probe",
- "abandon",
- "destruct",
-#ifdef SERGEEV
- "save",
-#else
- "freeze",
-#endif /* SERGEEV */
- "deathray",
- "debug",
-#ifdef SERGEEV
- "sos",
-#else
- "call",
-#endif /* SERGEEV */
- "quit",
- "help"
-};
+ 13. Screen-oriented interface, with sensor scans always up.
-#ifdef SERGEEV
-wnd wnds[6]={{1,1,80,25},{1,1,25,12},{26,2,80,12},{65,1,80,10},{1,13,80,23},{1,24,80,25}};
-short curwnd;
-#endif /* SERGEEV */
+Eric Raymond's changes:
-#define NUMCOMMANDS sizeof(commands)/sizeof(commands[0])
+ 1. "sos" and "call" becomes "mayday", "freeze" and "save" are both good.
+
+ 2. Status report now indicates when dilithium crystals are on board.
+
+ */
+
+/* the input queue */
+static char line[128], *linep = line;
+static int usecurses = TRUE;
-static void listCommands(int x) {
- proutn ("LEGAL COMMANDS ARE:\n\r"
- " MOVE PHASERS SOS PROBE\n\r"
- " COMPUTER IMPULSE TORPEDO ABANDON\n\r"
- " EMEXIT WARP SHIELDS DESTRUCT\n\r"
- " CHART REST DOCK QUIT\n\r"
- " DAMAGES REPORT SCORE ORBIT\n\r"
- " TRANSPORT MINE CRYSTALS SHUTTLE\n\r"
- " PLANETS DEATHRAY SAVE COMMANDS\n\r");
- if (x) prout(" HELP");
+static struct
+{
+ char *name;
+ int value;
}
}
+commands[] = {
+#define SRSCAN 0
+ {"SRSCAN", SRSCAN},
+#define STATUS 1
+ {"STATUS", STATUS},
+#define REQUEST 2
+ {"REQUEST", REQUEST},
+#define LRSCAN 3
+ {"LRSCAN", LRSCAN},
+#define PHASERS 4
+ {"PHASERS", PHASERS},
+#define TORPEDO 5
+ {"TORPEDO", TORPEDO},
+ {"PHOTONS", TORPEDO},
+#define MOVE 6
+ {"MOVE", MOVE},
+#define SHIELDS 7
+ {"SHIELDS", SHIELDS},
+#define DOCK 8
+ {"DOCK", DOCK},
+#define DAMAGES 9
+ {"DAMAGES", DAMAGES},
+#define CHART 10
+ {"CHART", CHART},
+#define IMPULSE 11
+ {"IMPULSE", IMPULSE},
+#define REST 12
+ {"REST", REST},
+#define WARP 13
+ {"WARP", WARP},
+#define SCORE 14
+ {"SCORE", SCORE},
+#define SENSORS 15
+ {"SENSORS", SENSORS},
+#define ORBIT 16
+ {"ORBIT", ORBIT},
+#define TRANSPORT 17
+ {"TRANSPORT", TRANSPORT},
+#define MINE 18
+ {"MINE", MINE},
+#define CRYSTALS 19
+ {"CRYSTALS", CRYSTALS},
+#define SHUTTLE 20
+ {"SHUTTLE", SHUTTLE},
+#define PLANETS 21
+ {"PLANETS", PLANETS},
+#define REPORT 22
+ {"REPORT", REPORT},
+#define COMPUTER 23
+ {"COMPUTER", COMPUTER},
+#define COMMANDS 24
+ {"COMMANDS", COMMANDS},
+#define EMEXIT 25
+ {"EMEXIT", EMEXIT},
+#define PROBE 26
+ {"PROBE", PROBE},
+#define SAVE 27
+ {"SAVE", SAVE},
+ {"FREEZE", SAVE},
+#define ABANDON 28
+ {"ABANDON", ABANDON},
+#define DESTRUCT 29
+ {"DESTRUCT", DESTRUCT},
+#define DEATHRAY 30
+ {"DEATHRAY", DEATHRAY},
+#define DEBUGCMD 31
+ {"DEBUG", DEBUGCMD},
+#define MAYDAY 32
+ {"MAYDAY", MAYDAY},
+ {"SOS", MAYDAY},
+ {"CALL", MAYDAY},
+#define QUIT 33
+ {"QUIT", QUIT},
+#define HELP 34
+ {"HELP", HELP},
+};
-#ifdef SERGEEV
-void setwnd(short wndnum){
- int cury;
- cury=wherey()+wnds[curwnd].wndtop-wnds[wndnum].wndtop;
- if ((curwnd==0)&&(wndnum!=0)) clrscr();
- window(wnds[wndnum].wndleft, wnds[wndnum].wndtop, wnds[wndnum].wndright, wnds[wndnum].wndbottom);
- if ((curwnd==wndnum)&&(cury>wnds[wndnum].wndbottom-wnds[wndnum].wndtop+1)){
- gotoxy(wnds[wndnum].wndright-wnds[wndnum].wndleft+1,wnds[wndnum].wndbottom-wnds[wndnum].wndtop+1);
- skip(1);
- }
- curwnd=wndnum;
- gotoxy(1,cury);
+#define NUMCOMMANDS sizeof(commands)/sizeof(commands[0])
+
+#define MIN_CURSES_COMMAND PHASERS /* might change someday */
+
+static void listCommands(int usecurses) {
+ int i, k = 0;
+ proutn("LEGAL COMMANDS ARE:");
+ for (i = usecurses ? MIN_CURSES_COMMAND : 0; i < NUMCOMMANDS; i++) {
+ if (k % 5 == 0)
+ skip(1);
+ proutn("%-12s ", commands[i].name);
+ k++;
+ }
+ skip(1);
}
}
-#endif /* SERGEEV */
static void helpme(void) {
int i, j;
static void helpme(void) {
int i, j;
@@
-195,40
+205,42
@@
static void helpme(void) {
key = scan();
while (TRUE) {
if (key == IHEOL) {
key = scan();
while (TRUE) {
if (key == IHEOL) {
-#ifdef SERGEEV
- setwnd(5);
-#endif /* SERGEEV */
+ setwnd(prompt_window);
proutn("Help on what command? ");
key = scan();
}
proutn("Help on what command? ");
key = scan();
}
-#ifdef SERGEEV
- setwnd(4);
-#endif /* SERGEEV */
+ setwnd(message_window);
if (key == IHEOL) return;
for (i = 0; i < NUMCOMMANDS; i++) {
if (key == IHEOL) return;
for (i = 0; i < NUMCOMMANDS; i++) {
- if (strcmp(commands[i], citem)==0) break;
+ if (strcasecmp(commands[i].name, citem)==0) {
+ i = commands[i].value;
+ break;
+ }
}
if (i != NUMCOMMANDS) break;
skip(1);
prout("Valid commands:");
}
if (i != NUMCOMMANDS) break;
skip(1);
prout("Valid commands:");
- listCommands(
FALSE
);
+ listCommands(
usecurses
);
key = IHEOL;
chew();
skip(1);
}
key = IHEOL;
chew();
skip(1);
}
- if (i ==
23
) {
+ if (i ==
COMMANDS
) {
strcpy(cmdbuf, " ABBREV");
}
else {
strcpy(cmdbuf, " ABBREV");
}
else {
- for (j = 0; commands[i][j]; j++)
- cmdbuf[j] = toupper(commands[i][j]);
+ for (j = 0; commands[i]
.name
[j]; j++)
+ cmdbuf[j] = toupper(commands[i]
.name
[j]);
cmdbuf[j] = '\0';
}
fp = fopen(SSTDOC, "r");
if (fp == NULL) {
prout("Spock- \"Captain, that information is missing from the");
cmdbuf[j] = '\0';
}
fp = fopen(SSTDOC, "r");
if (fp == NULL) {
prout("Spock- \"Captain, that information is missing from the");
- prout(" computer. You need to find SST.DOC and put it in the");
- prout(" current directory.\"");
+ prout(" computer.\"");
+ /*
+ * This used to continue: "You need to find SST.DOC and put
+ * it in the current directory."
+ */
return;
}
for (;;) {
return;
}
for (;;) {
@@
-241,7
+253,7
@@
static void helpme(void) {
for (cp = linebuf+3; isspace(*cp); cp++)
continue;
linebuf[strlen(linebuf)-1] = '\0';
for (cp = linebuf+3; isspace(*cp); cp++)
continue;
linebuf[strlen(linebuf)-1] = '\0';
- if (strcmp(cp, cmdbuf) == 0)
+ if (strc
asec
mp(cp, cmdbuf) == 0)
break;
}
}
break;
}
}
@@
-253,210
+265,186
@@
static void helpme(void) {
while (fgets(linebuf, sizeof(linebuf),fp)) {
if (strstr(linebuf, "******"))
break;
while (fgets(linebuf, sizeof(linebuf),fp)) {
if (strstr(linebuf, "******"))
break;
- prout
c
(linebuf);
+ prout
n
(linebuf);
}
fclose(fp);
}
}
fclose(fp);
}
-#ifdef SERGEEV
-void drawmaps(short l){
- _setcursortype(_NOCURSOR);
- if (l==1) sensor();
- if (l!=2) setwnd(1);
- gotoxy(1,1);
- strcpy(line,"s");
- srscan(1);
- if (l!=2){
- setwnd(2);
- clrscr();
- srscan(2);
- setwnd(3);
- clrscr();
- strcpy(line,"l");
- lrscan();
- _setcursortype(_NORMALCURSOR);
- }
+void enqueue(char *s) {
+ strcpy(line, s);
}
}
-#endif /* SERGEEV */
static void makemoves(void) {
int i, hitme;
static void makemoves(void) {
int i, hitme;
-#ifdef SERGEEV
clrscr();
clrscr();
- setwnd(4);
-#endif /* SERGEEV */
+ setwnd(message_window);
while (TRUE) { /* command loop */
while (TRUE) { /* command loop */
-#ifdef SERGEEV
drawmaps(1);
drawmaps(1);
-#endif /* SERGEEV */
while (TRUE) { /* get a command */
hitme = FALSE;
justin = 0;
Time = 0.0;
i = -1;
chew();
while (TRUE) { /* get a command */
hitme = FALSE;
justin = 0;
Time = 0.0;
i = -1;
chew();
-#ifdef SERGEEV
- setwnd(5);
+ setwnd(prompt_window);
clrscr();
clrscr();
-#endif /* SERGEEV */
proutn("COMMAND> ");
proutn("COMMAND> ");
-#ifdef SERGEEV
if (scan() == IHEOL) {
if (scan() == IHEOL) {
- _setcursortype(_NOCURSOR);
- setwnd(4);
- clrscr();
- chart(0);
- _setcursortype(_NORMALCURSOR);
+ makechart();
continue;
}
ididit=0;
clrscr();
continue;
}
ididit=0;
clrscr();
- setwnd(
4
);
+ setwnd(
message_window
);
clrscr();
clrscr();
-#endif /* SERGEEV */
- for (i=0; i < 26; i++)
- if (isit(commands[i]))
- break;
- if (i < 26) break;
+ for (i=0; i < ABANDON; i++)
+ if (isit(commands[i].name)) {
+ i = commands[i].value;
+ break;
+ }
+ if (i < ABANDON) break;
for (; i < NUMCOMMANDS; i++)
for (; i < NUMCOMMANDS; i++)
- if (strcmp(commands[i], citem) == 0) break;
+ if (strcasecmp(commands[i].name, citem) == 0) {
+ i = commands[i].value;
+ break;
+ }
if (i < NUMCOMMANDS) break;
if (i < NUMCOMMANDS) break;
-
- listCommands(TRUE);
+ listCommands(usecurses);
}
}
- commandhook(commands[i], TRUE);
+ commandhook(commands[i]
.name
, TRUE);
switch (i) { /* command switch */
switch (i) { /* command switch */
-#ifndef SERGEEV
- case 0: // srscan
- srscan(1);
+ case SRSCAN: // srscan
+ srscan(SCAN_FULL);
+ break;
+ case STATUS: // status
+ srscan(SCAN_STATUS);
break;
break;
- case 1: // lrscan
+ case REQUEST: // status request
+ srscan(SCAN_REQUEST);
+ break;
+ case LRSCAN: // lrscan
lrscan();
break;
lrscan();
break;
-#endif /* SERGEEV */
- case 2: // phasers
+ case PHASERS: // phasers
phasers();
if (ididit) hitme = TRUE;
break;
phasers();
if (ididit) hitme = TRUE;
break;
- case
3:
// photons
+ case
TORPEDO:
// photons
photon();
if (ididit) hitme = TRUE;
break;
photon();
if (ididit) hitme = TRUE;
break;
- case
4:
// move
+ case
MOVE:
// move
warp(1);
break;
warp(1);
break;
- case
5:
// shields
+ case
SHIELDS:
// shields
doshield(1);
if (ididit) {
hitme=TRUE;
shldchg = 0;
}
break;
doshield(1);
if (ididit) {
hitme=TRUE;
shldchg = 0;
}
break;
- case
6:
// dock
+ case
DOCK:
// dock
dock(1);
if (ididit) attack(0);
break;
dock(1);
if (ididit) attack(0);
break;
- case
7:
// damages
+ case
DAMAGES:
// damages
dreprt();
break;
dreprt();
break;
- case
8:
// chart
+ case
CHART:
// chart
chart(0);
break;
chart(0);
break;
- case
9:
// impulse
+ case
IMPULSE:
// impulse
impuls();
break;
impuls();
break;
- case
10:
// rest
+ case
REST:
// rest
wait();
if (ididit) hitme = TRUE;
break;
wait();
if (ididit) hitme = TRUE;
break;
- case
11:
// warp
+ case
WARP:
// warp
setwrp();
break;
setwrp();
break;
- case
12
: // score
+ case
SCORE
: // score
score();
break;
score();
break;
-#ifndef SERGEEV
- case 13: // sensors
+ case SENSORS: // sensors
sensor();
break;
sensor();
break;
-#endif /* SERGEEV */
- case 14: // orbit
+ case ORBIT: // orbit
orbit();
if (ididit) hitme = TRUE;
break;
orbit();
if (ididit) hitme = TRUE;
break;
- case
15:
// transport "beam"
+ case
TRANSPORT:
// transport "beam"
beam();
break;
beam();
break;
- case
16:
// mine
+ case
MINE:
// mine
mine();
if (ididit) hitme = TRUE;
break;
mine();
if (ididit) hitme = TRUE;
break;
- case
17:
// crystals
+ case
CRYSTALS:
// crystals
usecrystals();
if (ididit) hitme = TRUE;
break;
usecrystals();
if (ididit) hitme = TRUE;
break;
- case
18:
// shuttle
+ case
SHUTTLE:
// shuttle
shuttle();
if (ididit) hitme = TRUE;
break;
shuttle();
if (ididit) hitme = TRUE;
break;
- case
19:
// Planet list
+ case
PLANETS:
// Planet list
preport();
break;
preport();
break;
- case
20: // Status information
-
srscan(2
);
+ case
REPORT: // Game Report
+
report(
);
break;
break;
- case 21: // Game Report
- report(0);
- break;
- case 22: // use COMPUTER!
+ case COMPUTER: // use COMPUTER!
eta();
break;
eta();
break;
- case
23
:
- listCommands(
TRUE
);
+ case
COMMANDS
:
+ listCommands(
usecurses
);
break;
break;
- case
24:
// Emergency exit
- cl
earscreen();
// Hide screen
+ case
EMEXIT:
// Emergency exit
+ cl
rscr();
// Hide screen
freeze(TRUE); // forced save
exit(1); // And quick exit
break;
freeze(TRUE); // forced save
exit(1); // And quick exit
break;
- case
25
:
+ case
PROBE
:
probe(); // Launch probe
probe(); // Launch probe
+ if (ididit) hitme = TRUE;
break;
break;
- case
26:
// Abandon Ship
+ case
ABANDON:
// Abandon Ship
abandn();
break;
abandn();
break;
- case
27:
// Self Destruct
+ case
DESTRUCT:
// Self Destruct
dstrct();
break;
dstrct();
break;
- case
28:
// Save Game
+ case
SAVE:
// Save Game
freeze(FALSE);
freeze(FALSE);
+ clrscr();
if (skill > 3)
if (skill > 3)
-
prout("WARNING--Frozen
games produce no plaques!");
+
prout("WARNING--Saved
games produce no plaques!");
break;
break;
- case
29:
// Try a desparation measure
+ case
DEATHRAY:
// Try a desparation measure
deathray();
if (ididit) hitme = TRUE;
break;
deathray();
if (ididit) hitme = TRUE;
break;
- case
30:
// What do we want for debug???
+ case
DEBUGCMD:
// What do we want for debug???
#ifdef DEBUG
debugme();
#endif
break;
#ifdef DEBUG
debugme();
#endif
break;
- case
31:
// Call for help
+ case
MAYDAY:
// Call for help
help();
if (ididit) hitme = TRUE;
break;
help();
if (ididit) hitme = TRUE;
break;
- case
32
:
+ case
QUIT
:
alldone = 1; // quit the game
#ifdef DEBUG
if (idebug) score();
#endif
break;
alldone = 1; // quit the game
#ifdef DEBUG
if (idebug) score();
#endif
break;
- case
33
:
+ case
HELP
:
helpme(); // get help
break;
}
helpme(); // get help
break;
}
- commandhook(commands[i], FALSE);
+ commandhook(commands[i]
.name
, FALSE);
for (;;) {
if (alldone) break; // Game has ended
#ifdef DEBUG
for (;;) {
if (alldone) break; // Game has ended
#ifdef DEBUG
@@
-470,7
+458,6
@@
static void makemoves(void) {
atover(0);
continue;
}
atover(0);
continue;
}
- if (nenhere == 0) movetho();
if (hitme && justin==0) {
attack(2);
if (alldone) break;
if (hitme && justin==0) {
attack(2);
if (alldone) break;
@@
-488,7
+475,8
@@
static void makemoves(void) {
int main(int argc, char **argv) {
int main(int argc, char **argv) {
- int i, option, usecurses = TRUE;
+ int i, option;
+
while ((option = getopt(argc, argv, "t")) != -1) {
switch (option) {
case 't':
while ((option = getopt(argc, argv, "t")) != -1) {
switch (option) {
case 't':
@@
-500,21
+488,25
@@
int main(int argc, char **argv) {
}
}
}
}
+ randomize();
iostart(usecurses);
iostart(usecurses);
- prelim();
+
line[0] = '\0';
for (i = optind; i < argc; i++) {
strcat(line, argv[i]);
strcat(line, " ");
}
while (TRUE) { /* Play a game */
line[0] = '\0';
for (i = optind; i < argc; i++) {
strcat(line, argv[i]);
strcat(line, " ");
}
while (TRUE) { /* Play a game */
+ setwnd(fullscreen_window);
+ clrscr();
+ prelim();
setup(line[0] == '\0');
if (alldone) {
score();
alldone = 0;
}
else makemoves();
setup(line[0] == '\0');
if (alldone) {
score();
alldone = 0;
}
else makemoves();
- skip(
2
);
+ skip(
1
);
stars();
skip(1);
stars();
skip(1);
@@
-527,15
+519,8
@@
int main(int argc, char **argv) {
}
proutn("Do you want to play again? ");
if (!ja()) break;
}
proutn("Do you want to play again? ");
if (!ja()) break;
-#ifdef SERGEEV
- setwnd(0);
- clrscr();
-#endif /* SERGEEV */
}
skip(1);
}
skip(1);
-#ifndef SERGEEV
- ioend();
-#endif /* SERGEEV */
prout("May the Great Bird of the Galaxy roost upon your home planet.");
return 0;
}
prout("May the Great Bird of the Galaxy roost upon your home planet.");
return 0;
}
@@
-567,7
+552,7
@@
char *cramlc(enum loctype key, int x, int y) {
buf[0] = '\0';
if (key == quadrant) strcpy(buf, "Quadrant ");
else if (key == sector) strcpy(buf, "Sector ");
buf[0] = '\0';
if (key == quadrant) strcpy(buf, "Quadrant ");
else if (key == sector) strcpy(buf, "Sector ");
- sprintf(buf+strlen(buf), "%d
-
%d", x, y);
+ sprintf(buf+strlen(buf), "%d
-
%d", x, y);
return buf;
}
return buf;
}
@@
-636,7
+621,13
@@
int scan(void) {
chew();
return IHEOL;
}
chew();
return IHEOL;
}
- getline(line, sizeof(line));
+ cgetline(line, sizeof(line));
+ fflush(stdin);
+ if (curwnd==prompt_window){
+ clrscr();
+ setwnd(message_window);
+ clrscr();
+ }
linep = line;
}
// Skip leading white space
linep = line;
}
// Skip leading white space
@@
-691,7
+682,7
@@
int isit(char *s) {
/* New function -- compares s to scaned citem and returns true if it
matches to the length of s */
/* New function -- compares s to scaned citem and returns true if it
matches to the length of s */
- return strncmp(s, citem, max(1, strlen(citem))) == 0;
+ return strnc
asec
mp(s, citem, max(1, strlen(citem))) == 0;
}
}