/* Copyright 1989, 1990 by James Aspnes, David Applegate, and Bennet Yee */
/* See the file COPYING for distribution information */
#include "os.h"
#include "interface.h"
#include "externs.h"
int shutdown_flag = 0;
void notify (datum victim, const char *buf)
{
printf ("%ld: %s\n", victim, buf);
}
void emergency_shutdown (void)
{
puts ("emergency_shutdown() called");
}
void force_disconnect (datum player)
{
printf ("force_disconnect(%ld) called\n", player);
}
static void command_loop (void)
{
char buf[MAX_COMMAND_LEN + 1];
datum connected_to = NOTHING;
char *nl;
char *name;
char *password;
while (!shutdown_flag) {
FGETS (buf, MAX_COMMAND_LEN, stdin);
/* nuke that damned newline */
if (*(nl = buf + strlen (buf) - 1) == '\n')
*nl = '\0';
if (connected_to != NOTHING) {
if (!strcmp (buf, QUIT_COMMAND)) {
printf ("Disconnecting from %ld\n", connected_to);
disconnect_player (connected_to);
connected_to = NOTHING;
} else {
parse_command (connected_to, buf);
}
} else {
/* get name and password */
for (name = buf; *name && isspace (*name); name++);
for (password = name; *password && !isspace (*password); password++);
if (*password)
*password++ = '\0';
for (; *password && isspace (*password); password++);
connected_to = connect_player (name, password);
if (connected_to != NOTHING) {
printf ("Connected to %ld\n", connected_to);
} else {
puts ("Failed connect.");
}
}
}
return;
}
int main (int argc, char **argv)
{
if (argc < 3) {
fprintf (stderr, "Usage: %s infile dumpfile\n", *argv);
return (1);
}
if (init_game (argv[1], argv[2]) < 0) {
fprintf (stderr, "Couldn't load %s!\n", argv[1]);
return (2);
}
command_loop ();
dump_database ();
return (0);
}