#include <sys/time.h>
#include <netdb.h>
#include <errno.h>
-#include <setjmp.h>
static MyEventType AlarmGenFunc(EventGenRec *gen, MyEvent *event);
-
static EventGenRec alarmGen =
{ &alarmGen, 0, FT_read, -1, AlarmGenFunc, EM_alarm };
static EventGenRec *nextGen = &alarmGen;
-static sigjmp_buf close_env;
-
static int myRandSeed = 1;
static long baseTimeval;
" -a, --ascii\t\tUse ascii characters\n"
" -C, --color=0\t\tDisable color\n"
"\n"
- " -w, --wait\t\tWait for connection\n"
" -c, --connect <host>\tInitiate connection\n"
" -p, --port <port>\tSet port number (default is %d)\n"
"\n"
- " -i, --speed <sec>\tSet the initial step-down interval, in seconds\n"
+ " -t, --team <team>\tJoin a team (don't receive lines from your teammates)\n"
" -l, --level <lvl>\tBegin at a higher level (can be used as handicap)\n"
" -k, --keys <keys>\tRemap keys (default is \"%s\" for cursors)\n"
" -d, --dropmode\tDrops go into drop mode\n"
///////////// RANDOM /////////////
-ExtFunc void InitUtil(void)
-{
- SRandom(time(0));
- if (sigsetjmp(close_env, 1)) exit(0);
- signal(SIGINT, CatchInt);
- ResetBaseTime();
-} //InitUtil
-
/*
* My really crappy random number generator follows
* Should be more than sufficient for our purposes though
}
}
-ExtFunc void CatchInt(int sig)
-{
- siglongjmp(close_env, 1);
-}
-
ExtFunc void CatchAlarm(int sig)
{
alarmGen.ready = 1;
{
fprintf(stderr, "%s\n", msg);
exit(1);
-}
+} //fatal
ExtFunc void BlockSignals(MySigSet *saved, ...)
{
*saved = sigblock(set);
#endif
va_end(args);
-}
+} //BlockSignals
ExtFunc void RestoreSignals(MySigSet *saved, MySigSet *set)
{
else
sigsetmask(*set);
#endif
-}
+} //RestoreSignals
///////////// EVENTS /////////////