traces will be dumped. The program stops and waits for one character of
input at the beginning and end of the interval.
- $Id: worm.c,v 1.59 2008/11/16 00:19:59 juergen Exp $
+ $Id: worm.c,v 1.60 2010/11/13 20:21:21 tom Exp $
*/
#include <test.priv.h>
{
'O', '*', '#', '$', '%', '0', '@',
};
-static const short xinc[] =
+static const int xinc[] =
{
1, 1, 1, 0, -1, -1, -1, 0
}, yinc[] =
typedef struct worm {
int orientation;
int head;
- short *xpos;
- short *ypos;
+ int *xpos;
+ int *ypos;
chtype attrs;
#ifdef USE_PTHREADS
pthread_t thread;
static bool quitting = FALSE;
static WORM worm[MAX_WORMS];
-static short **refs;
+static int **refs;
static int last_x, last_y;
static const char *field;
ExitProgram(EXIT_FAILURE);
}
-static float
+static double
ranf(void)
{
long r = (rand() & 077777);
- return ((float) r / 32768.);
+ return ((double) r / 32768.);
}
static int
{
WORM *w = (WORM *) data;
const struct options *op;
- unsigned mask = ~(1 << (w - worm));
+ unsigned mask = (unsigned) (~(1 << (w - worm)));
chtype attrs = w->attrs | ((mask & pending) ? A_REVERSE : 0);
int x;
w->orientation = op->opts[0];
break;
default:
- w->orientation = op->opts[(int) (ranf() * (float) op->nopts)];
+ w->orientation = op->opts[(int) (ranf() * (double) op->nopts)];
break;
}
(void) win;
if (last_x != COLS - 1) {
for (y = 0; y <= last_y; y++) {
- refs[y] = typeRealloc(short, COLS, refs[y]);
+ refs[y] = typeRealloc(int, (size_t) COLS, refs[y]);
for (x = last_x + 1; x < COLS; x++)
refs[y][x] = 0;
}
if (last_y != LINES - 1) {
for (y = LINES; y <= last_y; y++)
free(refs[y]);
- refs = typeRealloc(short *, LINES, refs);
+ refs = typeRealloc(int *, (size_t) LINES, refs);
for (y = last_y + 1; y < LINES; y++) {
- refs[y] = typeMalloc(short, COLS);
+ refs[y] = typeMalloc(int, (size_t) COLS);
for (x = 0; x < COLS; x++)
refs[y][x] = 0;
}
int x, y;
int n;
struct worm *w;
- short *ip;
+ int *ip;
bool done = FALSE;
setlocale(LC_ALL, "");
#endif
#define SET_COLOR(num, fg) \
- init_pair(num+1, fg, bg); \
+ init_pair(num+1, (short) fg, (short) bg); \
flavor[num] |= COLOR_PAIR(num+1) | A_BOLD
SET_COLOR(0, COLOR_GREEN);
}
#endif /* A_COLOR */
- refs = typeMalloc(short *, LINES);
+ refs = typeMalloc(int *, (size_t) LINES);
for (y = 0; y < LINES; y++) {
- refs[y] = typeMalloc(short, COLS);
+ refs[y] = typeMalloc(int, (size_t) COLS);
for (x = 0; x < COLS; x++) {
refs[y][x] = 0;
}
#endif /* BADCORNER */
for (n = number, w = &worm[0]; --n >= 0; w++) {
- w->attrs = flavor[n % SIZEOF(flavor)];
+ w->attrs = flavor[(unsigned) n % SIZEOF(flavor)];
w->orientation = 0;
w->head = 0;
- if (!(ip = typeMalloc(short, (length + 1)))) {
+ if (!(ip = typeMalloc(int, (size_t) (length + 1)))) {
fprintf(stderr, "%s: out of memory\n", *argv);
ExitProgram(EXIT_FAILURE);
}
w->xpos = ip;
for (x = length; --x >= 0;)
*ip++ = -1;
- if (!(ip = typeMalloc(short, (length + 1)))) {
+ if (!(ip = typeMalloc(int, (size_t) (length + 1)))) {
fprintf(stderr, "%s: out of memory\n", *argv);
ExitProgram(EXIT_FAILURE);
}