/****************************************************************************
- * Copyright (c) 1998-2008,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2013,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
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.61 2012/10/27 19:37:17 tom Exp $
+ $Id: worm.c,v 1.67 2017/04/09 00:27:42 tom Exp $
*/
#include <test.priv.h>
endwin();
}
-static RETSIGTYPE
+static void
onsig(int sig GCC_UNUSED)
{
cleanup();
static bool
quit_worm(int bitnum)
{
- pending |= (1 << bitnum);
+ pending = (pending | (unsigned) (1 << bitnum));
napms(10); /* let the other thread(s) have a chance */
- pending &= ~(1 << bitnum);
+ pending = (pending & (unsigned) ~(1 << bitnum));
return quitting;
}
{
unsigned long compare = 0;
Trace(("start_worm"));
- while (!quit_worm(((struct worm *) arg) - worm)) {
+ while (!quit_worm((int) (((struct worm *) arg) - worm))) {
while (compare < sequence) {
++compare;
#if HAVE_USE_WINDOW
if (first) {
first = FALSE;
for (n = 0, w = &worm[0]; n < number; n++, w++) {
- int rc;
- rc = pthread_create(&(w->thread), NULL, start_worm, w);
+ (void) pthread_create(&(w->thread), NULL, start_worm, w);
}
}
#else
struct worm *w;
int *ip;
bool done = FALSE;
+ int max_refs;
setlocale(LC_ALL, "");
#define SET_COLOR(num, fg) \
init_pair(num+1, (short) fg, (short) bg); \
- flavor[num] |= COLOR_PAIR(num+1) | A_BOLD
+ flavor[num] |= (chtype) COLOR_PAIR(num+1) | A_BOLD
SET_COLOR(0, COLOR_GREEN);
SET_COLOR(1, COLOR_RED);
}
#endif /* A_COLOR */
- refs = typeMalloc(int *, (size_t) LINES);
- for (y = 0; y < LINES; y++) {
+ max_refs = LINES;
+ refs = typeMalloc(int *, (size_t) max_refs);
+ for (y = 0; y < max_refs; y++) {
refs[y] = typeMalloc(int, (size_t) COLS);
for (x = 0; x < COLS; x++) {
refs[y][x] = 0;
Trace(("Cleanup"));
cleanup();
-#ifdef NO_LEAKS
- for (y = 0; y < LINES; y++) {
+#if NO_LEAKS
+ for (y = 0; y < max_refs; y++) {
free(refs[y]);
}
free(refs);