* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
"Usage: netris <options>\n"
" -h Print usage information\n"
" -w Wait for connection\n"
"Usage: netris <options>\n"
" -h Print usage information\n"
" -w Wait for connection\n"
" -p <port> Set port number (default is %d)\n"
" -k <keys> Remap keys. The argument is a prefix of the string\n"
" containing the keys in order: left, rotate, right, drop,\n"
" -p <port> Set port number (default is %d)\n"
" -k <keys> Remap keys. The argument is a prefix of the string\n"
" containing the keys in order: left, rotate, right, drop,\n"
- " down-faster, toggle-spying, pause, faster, redraw.\n"
+ " down-faster, toggle-spying, pause, faster, redraw, new.\n"
" \"^\" prefixes controls. (default is \"%s\")\n"
" -i <sec> Set the step-down interval, in seconds\n"
" -r <robot> Execute <robot> (a command) as a robot controlling\n"
" \"^\" prefixes controls. (default is \"%s\")\n"
" -i <sec> Set the step-down interval, in seconds\n"
" -r <robot> Execute <robot> (a command) as a robot controlling\n"
" -D Drops go into drop mode\n"
" This means that sliding off a cliff after a drop causes\n"
" another drop automatically\n"
" -D Drops go into drop mode\n"
" This means that sliding off a cliff after a drop causes\n"
" another drop automatically\n"
" -H Show distribution and warranty information\n"
" -R Show rules\n",
version_string, DEFAULT_PORT, DEFAULT_KEYS);
" -H Show distribution and warranty information\n"
" -R Show rules\n",
version_string, DEFAULT_PORT, DEFAULT_KEYS);
"\n"
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"\n"
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
- assert(gen->next != NULL);
- while (nextGen->next != gen)
- nextGen = nextGen->next;
- nextGen->next = gen->next;
- gen->next = NULL;
+ /* assert(gen->next != NULL); /* Be more forgiving, for SIGINTs */
+ if (gen->next) {
+ while (nextGen->next != gen)
+ nextGen = nextGen->next;
+ nextGen->next = gen->next;
+ gen->next = NULL;
+ }