Build of tetrinet with android toolchain

The build took 00h 00m 59s and was NOT successful.

The program in this build is written in the following languages, according to sloccount:

SLOCLanguage
4,203 ansic
22 makefile
4,225 total

The process tree of the build process is here.

Several sub-process invocations were improper; see the process tree for details. Summary:

List of Errors

Log

To avoid scrolling, you may jump to the last line of the invocation of makepkg that was used to build this package.

Removed vanilla repositories from pacman.conf and added:
# [tuscan]
# Server = file:///var/cache/pacman/pkg/

CMD: pacman -Syy --noconfirm
# :: Synchronizing package databases...
# downloading tuscan.db...

Copied permanent toolchain into container-local sysroot
# /toolchain_root/arm-linux-androideabi --> /sysroot/arm-linux-androideabi
# /toolchain_root/COPYING3.LIB --> /sysroot/COPYING3.LIB
# /toolchain_root/sysroot --> /sysroot/sysroot
# /toolchain_root/COPYING.RUNTIME --> /sysroot/COPYING.RUNTIME
# /toolchain_root/lib --> /sysroot/lib
# /toolchain_root/SOURCES --> /sysroot/SOURCES
# /toolchain_root/lib64 --> /sysroot/lib64
# /toolchain_root/share --> /sysroot/share
# /toolchain_root/bin --> /sysroot/bin
# /toolchain_root/COPYING --> /sysroot/COPYING
# /toolchain_root/COPYING3 --> /sysroot/COPYING3
# /toolchain_root/COPYING.LIB --> /sysroot/COPYING.LIB
# /toolchain_root/include --> /sysroot/include
# /toolchain_root/libexec --> /sysroot/libexec

CMD: sudo -u tuscan PATH=/sysroot/bin:/sysroot/libexec/gcc/arm-linux-androideabi/4.8:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin CC=arm-linux-androideabi-gcc CXX=arm-linux-androideabi-g++ red makepkg --noextract --syncdeps --skipinteg --skippgpcheck --skipchecksums --noconfirm --nocolor --log --noprogressbar --nocheck
# ==> Making package: tetrinet 0.11-7 (Tue Apr 4 20:56:00 UTC 2017)
# ==> Checking runtime dependencies...
# ==> Checking buildtime dependencies...
# ==> WARNING: Using existing $srcdir/ tree
# ==> Starting build()...
# cc -O2 -I/usr/include/ncurses -DHAVE_IPV6 -g -Wall -c sockets.c
# cc -O2 -I/usr/include/ncurses -DHAVE_IPV6 -g -Wall -c tetrinet.c
# cc -O2 -I/usr/include/ncurses -DHAVE_IPV6 -g -Wall -c tetris.c
# cc -O2 -I/usr/include/ncurses -DHAVE_IPV6 -g -Wall -c tty.c
# cc1: error: no include path in which to search for stdc-predef.h
# tetrinet.c:9:19: error: no include path in which to search for stdio.h
# #include
# ^
# tetrinet.c:10:20: error: no include path in which to search for stdlib.h
# #include
# ^
# tetrinet.c:11:20: error: no include path in which to search for string.h
# #include
# ^
# tetrinet.c:12:18: error: no include path in which to search for time.h
# #include
# ^
# tetrinet.c:13:19: error: no include path in which to search for errno.h
# #include
# ^
# In file included from tetrinet.c:14:0:
# tetrinet.h:77:12: warning: built-in function 'log' declared as non-function [enabled by default]
# extern int log;
# ^
# tetrinet.c: In function 'parse':
# tetrinet.c:59:5: warning: implicit declaration of function 'strtok' [-Wimplicit-function-declaration]
# cmd = strtok(buf, " ");
# ^
# tetrinet.c:59:9: warning: assignment makes pointer from integer without a cast [enabled by default]
# cmd = strtok(buf, " ");
# ^
# tetrinet.c:64:5: warning: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration]
# } else if (strcmp(cmd, "noconnecting") == 0) {
# ^
# tetrinet.c:65:13: error: 'NULL' undeclared (first use in this function)
# s = strtok(NULL, "");
# ^
# tetrinet.c:65:13: note: each undeclared identifier is reported only once for each function it appears in
# tetrinet.c:69:2: warning: implicit declaration of function 'fprintf' [-Wimplicit-function-declaration]
# fprintf(stderr, "Server error: %s\n", s);
# ^
# tetrinet.c:69:2: warning: incompatible implicit declaration of built-in function 'fprintf' [enabled by default]
# tetrinet.c:69:10: error: 'stderr' undeclared (first use in this function)
# fprintf(stderr, "Server error: %s\n", s);
# ^
# cc1: error: no include path in which to search for stdc-predef.h
# tetrinet.c:70:2: warning: implicit declaration of function 'exit' [-Wimplicit-function-declaration]
# exit(1);
# ^
# tetrinet.c:70:2: warning: incompatible implicit declaration of built-in function 'exit' [enabled by default]
# tetrinet.c:76:6: warning: implicit declaration of function 'strchr' [-Wimplicit-function-declaration]
# t = strchr(s, ';');
# ^
# tetrinet.c:76:10: warning: incompatible implicit declaration of built-in function 'strchr' [enabled by default]
# t = strchr(s, ';');
# ^
# sockets.c:7:20: error: no include path in which to search for stdarg.h
# #include
# ^
# sockets.c:8:19: error: no include path in which to search for stdio.h
# #include
# ^
# sockets.c:9:20: error: no include path in which to search for stdlib.h
# #include
# ^
# sockets.c:10:19: error: no include path in which to search for errno.h
# #include
# ^
# sockets.c:11:23: error: no include path in which to search for sys/types.h
# #include
# ^
# sockets.c:12:19: error: no include path in which to search for netdb.h
# #include
# ^
# tetrinet.c:85:6: warning: implicit declaration of function 'strncpy' [-Wimplicit-function-declaration]
# strncpy(winlist[i].name, s, sizeof(winlist[i].name)-1);
# ^
# sockets.c:13:24: error: no include path in which to search for netinet/in.h
# #include
# ^
# tetrinet.c:85:6: warning: incompatible implicit declaration of built-in function 'strncpy' [enabled by default]
# sockets.c:14:24: error: no include path in which to search for sys/socket.h
# #include
# ^
# sockets.c:15:22: error: no include path in which to search for sys/time.h
# #include
# ^
# sockets.c:16:20: error: no include path in which to search for unistd.h
# #include
# ^
# sockets.c:17:20: error: no include path in which to search for string.h
# #include
# ^
# tetrinet.c:87:6: warning: implicit declaration of function 'atoi' [-Wimplicit-function-declaration]
# winlist[i].points = atoi(t);
# ^
# tetrinet.c:102:2: warning: implicit declaration of function 'strdup' [-Wimplicit-function-declaration]
# players[my_playernum-1] = strdup(my_nick);
# ^
# tetrinet.c:102:28: warning: incompatible implicit declaration of built-in function 'strdup' [enabled by default]
# players[my_playernum-1] = strdup(my_nick);
# ^
# tetrinet.c:115:20: warning: incompatible implicit declaration of built-in function 'strdup' [enabled by default]
# players[player] = strdup(t);
# ^
# tetrinet.c:117:6: warning: implicit declaration of function 'free' [-Wimplicit-function-declaration]
# free(teams[player]);
# ^
# tetrinet.c:117:6: warning: incompatible implicit declaration of built-in function 'free' [enabled by default]
# tetrinet.c:120:2: warning: implicit declaration of function 'snprintf' [-Wimplicit-function-declaration]
# snprintf(buf, sizeof(buf), "*** %s is Now Playing", t);
# ^
# tetrinet.c:120:2: warning: incompatible implicit declaration of built-in function 'snprintf' [enabled by default]
# In file included from sockets.c:19:0:
# tetrinet.h:77:12: warning: built-in function 'log' declared as non-function [enabled by default]
# extern int log;
# ^
# tetrinet.c:135:2: warning: incompatible implicit declaration of built-in function 'snprintf' [enabled by default]
# snprintf(buf, sizeof(buf), "*** %s has Left", players[player]);
# ^
# tetrinet.c:137:2: warning: incompatible implicit declaration of built-in function 'free' [enabled by default]
# free(players[player]);
# ^
# sockets.c:21:1: error: unknown type name 'FILE'
# static FILE *logfile;
# ^
# sockets.c:25:23: error: 'EOF' undeclared here (not in a function)
# static int lastchar = EOF;
# ^
# sockets.c: In function 'sgetc':
# tetrinet.c:154:6: warning: incompatible implicit declaration of built-in function 'free' [enabled by default]
# free(teams[player]);
# ^
# sockets.c:37:5: warning: implicit declaration of function 'read' [-Wimplicit-function-declaration]
# if (read(s, &ch, 1) != 1)
# ^
# tetrinet.c:156:22: warning: incompatible implicit declaration of built-in function 'strdup' [enabled by default]
# teams[player] = strdup(t);
# ^
# tetrinet.c:160:6: warning: incompatible implicit declaration of built-in function 'snprintf' [enabled by default]
# snprintf(buf, sizeof(buf), "*** %s is Now on Team %s", players[player], t);
# ^
# sockets.c: In function 'sgets':
# sockets.c:60:9: error: 'NULL' undeclared (first use in this function)
# return NULL;
# ^
# sockets.c:60:9: note: each undeclared identifier is reported only once for each function it appears in
# cc1: error: no include path in which to search for stdc-predef.h
# tetrinet.c:183:2: warning: incompatible implicit declaration of built-in function 'snprintf' [enabled by default]
# snprintf(buf, sizeof(buf), "<%s> %s", name, t);
# ^
# sockets.c:71:6: warning: implicit declaration of function 'fopen' [-Wimplicit-function-declaration]
# logfile = fopen(logname, "a");
# ^
# tetris.c:7:19: error: no include path in which to search for stdio.h
# #include
# ^
# sockets.c:71:14: warning: assignment makes pointer from integer without a cast [enabled by default]
# logfile = fopen(logname, "a");
# ^
# tetris.c:8:20: error: no include path in which to search for stdlib.h
# #include
# ^
# sockets.c:73:21: error: storage size of 'tv' isn't known
# struct timeval tv;
# ^
# tetris.c:9:20: error: no include path in which to search for string.h
# #include
# ^
# tetrinet.c:204:2: warning: incompatible implicit declaration of built-in function 'snprintf' [enabled by default]
# snprintf(buf, sizeof(buf), "* %s %s", name, t);
# ^
# tetris.c:10:22: error: no include path in which to search for sys/time.h
# #include
# ^
# sockets.c:74:6: warning: implicit declaration of function 'gettimeofday' [-Wimplicit-function-declaration]
# gettimeofday(&tv, NULL);
# ^
# sockets.c:75:6: warning: implicit declaration of function 'fprintf' [-Wimplicit-function-declaration]
# fprintf(logfile, "[%d.%03d] <<< %s\n",
# ^
# sockets.c:75:6: warning: incompatible implicit declaration of built-in function 'fprintf' [enabled by default]
# sockets.c:77:6: warning: implicit declaration of function 'fflush' [-Wimplicit-function-declaration]
# fflush(logfile);
# ^
# sockets.c:73:21: warning: unused variable 'tv' [-Wunused-variable]
# struct timeval tv;
# ^
# tetrinet.c:228:6: warning: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
# memset(piecefreq, 0, sizeof(piecefreq));
# ^
# sockets.c: In function 'sputs':
# tetrinet.c:228:6: warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]
# sockets.c:94:14: warning: assignment makes pointer from integer without a cast [enabled by default]
# logfile = fopen(logname, "a");
# ^
# sockets.c:96:21: error: storage size of 'tv' isn't known
# struct timeval tv;
# ^
# sockets.c:97:24: error: 'NULL' undeclared (first use in this function)
# gettimeofday(&tv, NULL);
# ^
# sockets.c:98:6: warning: incompatible implicit declaration of built-in function 'fprintf' [enabled by default]
# fprintf(logfile, "[%d.%03d] >>> %s\n",
# ^
# tetrinet.c:237:6: warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]
# memset(specialfreq, 0, sizeof(specialfreq));
# ^
# sockets.c:96:21: warning: unused variable 'tv' [-Wunused-variable]
# struct timeval tv;
# ^
# sockets.c:103:2: warning: implicit declaration of function 'write' [-Wimplicit-function-declaration]
# n = write(s, str, strlen(str));
# ^
# sockets.c:103:2: warning: implicit declaration of function 'strlen' [-Wimplicit-function-declaration]
# In file included from tetris.c:11:0:
# tetrinet.h:77:12: warning: built-in function 'log' declared as non-function [enabled by default]
# extern int log;
# ^
# sockets.c:103:20: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
# n = write(s, str, strlen(str));
# ^
# tetrinet.c:252:2: warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]
# memset(&fields[my_playernum-1], 0, sizeof(Field));
# ^
# sockets.c: In function 'sockprintf':
# sockets.c:118:5: error: unknown type name 'va_list'
# va_list args;
# ^
# sockets.c:121:5: warning: implicit declaration of function 'va_start' [-Wimplicit-function-declaration]
# va_start(args, fmt);
# ^
# sockets.c:122:5: warning: implicit declaration of function 'vsnprintf' [-Wimplicit-function-declaration]
# vsnprintf(buf, sizeof(buf), fmt, args);
# ^
# tetrinet.c:266:2: warning: implicit declaration of function 'sprintf' [-Wimplicit-function-declaration]
# s = buf + sprintf(buf, "f %d ", my_playernum);
# ^
# tetrinet.c:266:12: warning: incompatible implicit declaration of built-in function 'sprintf' [enabled by default]
# s = buf + sprintf(buf, "f %d ", my_playernum);
# ^
# sockets.c: In function 'conn':
# sockets.c:132:15: error: 'NI_MAXHOST' undeclared (first use in this function)
# char hbuf[NI_MAXHOST];
# ^
# sockets.c:133:21: error: storage size of 'hints' isn't known
# struct addrinfo hints, *res, *res0;
# ^
# tetrinet.c:269:3: warning: implicit declaration of function 'rand' [-Wimplicit-function-declaration]
# fields[my_playernum-1][y][x] = rand()%5 + 1;
# ^
# sockets.c:142:5: warning: implicit declaration of function 'snprintf' [-Wimplicit-function-declaration]
# snprintf(service, sizeof(service), "%d", port);
# ^
# sockets.c:142:5: warning: incompatible implicit declaration of built-in function 'snprintf' [enabled by default]
# sockets.c:143:5: warning: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
# memset(&hints, 0, sizeof(hints));
# ^
# sockets.c:143:5: warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]
# sockets.c:144:23: error: 'AF_UNSPEC' undeclared (first use in this function)
# hints.ai_family = AF_UNSPEC;
# ^
# sockets.c:145:25: error: 'SOCK_STREAM' undeclared (first use in this function)
# hints.ai_socktype = SOCK_STREAM;
# ^
# sockets.c:146:5: warning: implicit declaration of function 'getaddrinfo' [-Wimplicit-function-declaration]
# if (getaddrinfo(host, service, &hints, &res0))
# ^
# tetrinet.c:292:2: warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]
# memset(fields, 0, sizeof(fields));
# ^
# sockets.c:148:36: error: dereferencing pointer to incomplete type
# for (res = res0; res; res = res->ai_next) {
# ^
# sockets.c:150:2: warning: implicit declaration of function 'socket' [-Wimplicit-function-declaration]
# sock = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
# ^
# sockets.c:150:19: error: dereferencing pointer to incomplete type
# sock = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
# ^
# sockets.c:150:35: error: dereferencing pointer to incomplete type
# sock = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
# ^
# sockets.c:150:53: error: dereferencing pointer to incomplete type
# sock = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
# ^
# sockets.c:153:2: warning: implicit declaration of function 'getnameinfo' [-Wimplicit-function-declaration]
# getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf),
# ^
# sockets.c:153:17: error: dereferencing pointer to incomplete type
# getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf),
# ^
# sockets.c:153:31: error: dereferencing pointer to incomplete type
# getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf),
# ^
# sockets.c:154:7: error: 'NULL' undeclared (first use in this function)
# NULL, 0, 0);
# ^
# sockets.c:155:2: warning: implicit declaration of function 'connect' [-Wimplicit-function-declaration]
# if (connect(sock, res->ai_addr, res->ai_addrlen) == 0) {
# ^
# sockets.c:155:23: error: dereferencing pointer to incomplete type
# if (connect(sock, res->ai_addr, res->ai_addrlen) == 0) {
# ^
# sockets.c:155:37: error: dereferencing pointer to incomplete type
# if (connect(sock, res->ai_addr, res->ai_addrlen) == 0) {
# ^
# sockets.c:157:10: error: dereferencing pointer to incomplete type
# if (res->ai_family == AF_INET6) {
# ^
# sockets.c:157:25: error: 'AF_INET6' undeclared (first use in this function)
# if (res->ai_family == AF_INET6) {
# ^
# sockets.c:159:31: error: dereferencing pointer to incomplete type
# (struct sockaddr_in6 *)(res->ai_addr);
# ^
# sockets.c:160:7: warning: implicit declaration of function 'memcpy' [-Wimplicit-function-declaration]
# memcpy(ipbuf, (char *)(&sin6->sin6_addr) + 12, 4);
# ^
# sockets.c:160:7: warning: incompatible implicit declaration of built-in function 'memcpy' [enabled by default]
# sockets.c:160:35: error: dereferencing pointer to incomplete type
# memcpy(ipbuf, (char *)(&sin6->sin6_addr) + 12, 4);
# ^
# tetrinet.c: In function 'partyline_input':
# sockets.c:163:30: error: dereferencing pointer to incomplete type
# (struct sockaddr_in *)(res->ai_addr);
# ^
# sockets.c:164:7: warning: incompatible implicit declaration of built-in function 'memcpy' [enabled by default]
# memcpy(ipbuf, &sin->sin_addr, 4);
# ^
# tetrinet.c:409:2: warning: implicit declaration of function 'memmove' [-Wimplicit-function-declaration]
# memmove(curpos+1, curpos, strlen(curpos)+1);
# ^
# tetrinet.c:409:2: warning: incompatible implicit declaration of built-in function 'memmove' [enabled by default]
# sockets.c:164:25: error: dereferencing pointer to incomplete type
# memcpy(ipbuf, &sin->sin_addr, 4);
# ^
# tetrinet.c:409:2: warning: implicit declaration of function 'strlen' [-Wimplicit-function-declaration]
# sockets.c:169:15: error: 'errno' undeclared (first use in this function)
# errno_save = errno;
# ^
# tetrinet.c:409:28: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
# memmove(curpos+1, curpos, strlen(curpos)+1);
# ^
# sockets.c:170:2: warning: implicit declaration of function 'close' [-Wimplicit-function-declaration]
# close(sock);
# ^
# tetrinet.c: In function 'partyline_delete':
# sockets.c:174:5: warning: implicit declaration of function 'freeaddrinfo' [-Wimplicit-function-declaration]
# freeaddrinfo(res0);
# ^
# tetris.c: In function 'init_shapes':
# tetrinet.c:422:2: warning: incompatible implicit declaration of built-in function 'memmove' [enabled by default]
# memmove(curpos, curpos+1, strlen(curpos)-1+1);
# ^
# tetris.c:155:4: warning: implicit declaration of function 'fprintf' [-Wimplicit-function-declaration]
# fprintf(stderr, "Piece %d rotation %d: "
# ^
# sockets.c:133:21: warning: unused variable 'hints' [-Wunused-variable]
# struct addrinfo hints, *res, *res0;
# ^
# tetrinet.c:422:28: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
# memmove(curpos, curpos+1, strlen(curpos)-1+1);
# ^
# tetris.c:155:4: warning: incompatible implicit declaration of built-in function 'fprintf' [enabled by default]
# sockets.c:132:10: warning: unused variable 'hbuf' [-Wunused-variable]
# char hbuf[NI_MAXHOST];
# ^
# tetris.c:155:12: error: 'stderr' undeclared (first use in this function)
# fprintf(stderr, "Piece %d rotation %d: "
# ^
# tetris.c:155:12: note: each undeclared identifier is reported only once for each function it appears in
# sockets.c: In function 'disconn':
# sockets.c:201:5: warning: implicit declaration of function 'shutdown' [-Wimplicit-function-declaration]
# shutdown(s, 2);
# ^
# tetris.c:158:4: warning: implicit declaration of function 'exit' [-Wimplicit-function-declaration]
# exit(1);
# ^
# tetris.c:158:4: warning: incompatible implicit declaration of built-in function 'exit' [enabled by default]
# tetrinet.c: In function 'partyline_move':
# tetrinet.c:468:18: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
# partyline_pos = strlen(partyline_buffer);
# ^
# tetris.c:163:3: warning: incompatible implicit declaration of built-in function 'fprintf' [enabled by default]
# fprintf(stderr, "Piece %d rotation %d missing hot spot!\n",
# ^
# tetrinet.c: In function 'partyline_enter':
# tetris.c:165:3: warning: incompatible implicit declaration of built-in function 'exit' [enabled by default]
# exit(1);
# ^
# tetrinet.c:482:2: warning: implicit declaration of function 'strncasecmp' [-Wimplicit-function-declaration]
# if (strncasecmp(partyline_buffer, "/me ", 4) == 0) {
# ^
# tetrinet.c:484:6: warning: incompatible implicit declaration of built-in function 'snprintf' [enabled by default]
# snprintf(buf, sizeof(buf), "* %s %s", players[my_playernum-1], partyline_buffer+4);
# ^
# tetrinet.c:486:2: warning: implicit declaration of function 'strcasecmp' [-Wimplicit-function-declaration]
# } else if (strcasecmp(partyline_buffer, "/start") == 0) {
# ^
# tetrinet.c:495:10: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
# if (strlen(partyline_buffer) == 5)
# ^
# tetrinet.c:496:3: warning: implicit declaration of function 'strcpy' [-Wimplicit-function-declaration]
# strcpy(partyline_buffer+5, " "); /* make it "/team " */
# ^
# tetrinet.c:496:3: warning: incompatible implicit declaration of built-in function 'strcpy' [enabled by default]
# tetrinet.c:500:7: warning: incompatible implicit declaration of built-in function 'free' [enabled by default]
# free(teams[my_playernum-1]);
# ^
# tetrinet.c:501:27: warning: incompatible implicit declaration of built-in function 'strdup' [enabled by default]
# teams[my_playernum-1] = strdup(partyline_buffer+6);
# ^
# tetrinet.c:502:3: warning: incompatible implicit declaration of built-in function 'snprintf' [enabled by default]
# snprintf(buf, sizeof(buf), "*** %s is Now on Team %s", players[my_playernum-1], partyline_buffer+6);
# ^
# tetrinet.c:506:7: warning: incompatible implicit declaration of built-in function 'free' [enabled by default]
# free(teams[my_playernum-1]);
# ^
# tetrinet.c:507:27: error: 'NULL' undeclared (first use in this function)
# teams[my_playernum-1] = NULL;
# ^
# tetrinet.c:508:3: warning: incompatible implicit declaration of built-in function 'snprintf' [enabled by default]
# snprintf(buf, sizeof(buf), "*** %s is Now Alone", players[my_playernum-1]);
# ^
# tetris.c: In function 'clear_lines':
# tetris.c:294:5: warning: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
# memset(new_specials, 0, sizeof(new_specials));
# ^
# tetrinet.c:516:3: warning: incompatible implicit declaration of built-in function 'snprintf' [enabled by default]
# snprintf(buf, sizeof(buf), "<%s> %s", players[my_playernum-1], partyline_buffer);
# ^
# tetris.c:294:5: warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]
# tetrinet.c: In function 'help':
# tetrinet.c:533:5: warning: incompatible implicit declaration of built-in function 'fprintf' [enabled by default]
# fprintf(stderr,
# ^
# tetrinet.c:533:13: error: 'stderr' undeclared (first use in this function)
# fprintf(stderr,
# ^
# tetrinet.c: In function 'init':
# tetris.c:309:3: warning: implicit declaration of function 'memmove' [-Wimplicit-function-declaration]
# memmove((*f)[1], (*f)[0], FIELD_WIDTH*y);
# ^
# tetrinet.c:560:18: error: 'NULL' undeclared (first use in this function)
# char *nick = NULL, *server = NULL;
# ^
# tetris.c:309:3: warning: incompatible implicit declaration of built-in function 'memmove' [enabled by default]
# tetrinet.c:574:5: warning: implicit declaration of function 'getenv' [-Wimplicit-function-declaration]
# if (getenv("DISPLAY"))
# ^
# tetrinet.c:580:5: warning: implicit declaration of function 'srand' [-Wimplicit-function-declaration]
# srand(time(NULL));
# ^
# tetrinet.c:580:5: warning: implicit declaration of function 'time' [-Wimplicit-function-declaration]
# tetris.c:321:7: warning: implicit declaration of function 'rand' [-Wimplicit-function-declaration]
# if (windows_mode && rand()%2) {
# ^
# tetrinet.c:596:7: warning: incompatible implicit declaration of built-in function 'fprintf' [enabled by default]
# fprintf(stderr, "Option -log requires an argument\n");
# ^
# tetrinet.c:596:15: error: 'stderr' undeclared (first use in this function)
# fprintf(stderr, "Option -log requires an argument\n");
# ^
# tetris.c:322:4: warning: incompatible implicit declaration of built-in function 'memmove' [enabled by default]
# memmove(specials+1, specials, pos);
# ^
# tetrinet.c:615:3: warning: incompatible implicit declaration of built-in function 'fprintf' [enabled by default]
# fprintf(stderr, "Unknown option %s\n", av[i]);
# ^
# make: *** [Makefile:33: sockets.o] Error 1
# make: *** Waiting for unfinished jobs....
# tetrinet.c:638:9: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
# if (strlen(nick) > 63) /* put a reasonable limit on nick length */
# ^
# tetrinet.c:641:5: warning: pointer targets in passing argument 3 of 'conn' differ in signedness [-Wpointer-sign]
# if ((server_sock = conn(server, 31457, ip)) < 0) {
# ^
# In file included from tetrinet.c:17:0:
# sockets.h:15:12: note: expected 'char *' but argument is of type 'unsigned char *'
# extern int conn(const char *host, int port, char ipbuf[4]);
# ^
# tetrinet.c:642:2: warning: incompatible implicit declaration of built-in function 'fprintf' [enabled by default]
# fprintf(stderr, "Couldn't connect to server %s: %s\n",
# ^
# tetris.c: In function 'send_field':
# tetrinet.c:643:3: warning: implicit declaration of function 'strerror' [-Wimplicit-function-declaration]
# server, strerror(errno));
# ^
# tetris.c:405:2: warning: implicit declaration of function 'sprintf' [-Wimplicit-function-declaration]
# s = buf + sprintf(buf, "f %d ", my_playernum);
# ^
# tetrinet.c:643:20: error: 'errno' undeclared (first use in this function)
# server, strerror(errno));
# ^
# tetris.c:405:12: warning: incompatible implicit declaration of built-in function 'sprintf' [enabled by default]
# s = buf + sprintf(buf, "f %d ", my_playernum);
# ^
# tetrinet.c:646:5: warning: incompatible implicit declaration of built-in function 'sprintf' [enabled by default]
# sprintf(nickmsg, "tetri%s %s 1.13", tetrifast ? "faster" : "sstart", nick);
# ^
# tetris.c:424:5: warning: implicit declaration of function 'strlen' [-Wimplicit-function-declaration]
# || strlen(buf)-4 > FIELD_WIDTH*FIELD_HEIGHT) {
# ^
# tetrinet.c:659:6: warning: incompatible implicit declaration of built-in function 'fprintf' [enabled by default]
# fprintf(stderr, "Server %s closed connection\n", server);
# ^
# tetris.c:424:8: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
# || strlen(buf)-4 > FIELD_WIDTH*FIELD_HEIGHT) {
# ^
# tetrinet.c:667:31: warning: incompatible implicit declaration of built-in function 'strdup' [enabled by default]
# players[my_playernum-1] = strdup(nick);
# ^
# tetris.c:426:12: warning: incompatible implicit declaration of built-in function 'sprintf' [enabled by default]
# s = buf + sprintf(buf, "f %d ", my_playernum);
# ^
# tetris.c: In function 'new_piece':
# tetris.c:472:14: error: 'NULL' undeclared (first use in this function)
# send_field(NULL);
# ^
# tetris.c:482:5: warning: implicit declaration of function 'gettimeofday' [-Wimplicit-function-declaration]
# gettimeofday(&timeout, NULL);
# ^
# tetris.c:483:5: error: invalid use of undefined type 'struct timeval'
# timeout.tv_usec += level_delay() * 1000;
# ^
# tetris.c:484:5: error: invalid use of undefined type 'struct timeval'
# timeout.tv_sec += timeout.tv_usec / 1000000;
# ^
# tetris.c:484:5: error: invalid use of undefined type 'struct timeval'
# tetris.c:485:5: error: invalid use of undefined type 'struct timeval'
# timeout.tv_usec %= 1000000;
# ^
# cc1: error: no include path in which to search for stdc-predef.h
# tetris.c: In function 'step_down':
# tetris.c:509:25: error: 'NULL' undeclared (first use in this function)
# gettimeofday(&timeout, NULL);
# ^
# tetris.c:510:2: error: invalid use of undefined type 'struct timeval'
# timeout.tv_usec += level_delay() * 1000;
# ^
# tty.c:9:19: error: no include path in which to search for stdio.h
# #include
# ^
# tty.c:10:20: error: no include path in which to search for stdlib.h
# #include
# ^
# tty.c:11:20: error: no include path in which to search for string.h
# #include
# ^
# tetris.c:511:2: error: invalid use of undefined type 'struct timeval'
# timeout.tv_sec += timeout.tv_usec / 1000000;
# ^
# tetris.c:511:2: error: invalid use of undefined type 'struct timeval'
# tty.c:12:20: error: no include path in which to search for unistd.h
# #include
# ^
# tty.c:13:19: error: no include path in which to search for ctype.h
# #include
# ^
# tty.c:14:20: error: no include path in which to search for curses.h
# #include
# ^
# tty.c:15:19: error: no include path in which to search for errno.h
# #include
# ^
# tetris.c:512:2: error: invalid use of undefined type 'struct timeval'
# timeout.tv_usec %= 1000000;
# ^
# tty.c:16:20: error: no include path in which to search for signal.h
# #include
# ^
# tty.c:17:22: error: no include path in which to search for sys/time.h
# #include
# ^
# tetris.c:518:2: warning: implicit declaration of function 'memcpy' [-Wimplicit-function-declaration]
# memcpy(&oldfield, f, sizeof(oldfield));
# ^
# tetris.c:518:2: warning: incompatible implicit declaration of built-in function 'memcpy' [enabled by default]
# tetris.c:528:6: warning: incompatible implicit declaration of built-in function 'sprintf' [enabled by default]
# sprintf(buf, "cs%d", completed);
# ^
# In file included from tty.c:18:0:
# tetrinet.h:77:12: warning: built-in function 'log' declared as non-function [enabled by default]
# extern int log;
# ^
# tetris.c:547:2: error: invalid use of undefined type 'struct timeval'
# timeout.tv_usec += tetrifast ? 0 : 600000;
# ^
# tetris.c:548:2: error: invalid use of undefined type 'struct timeval'
# timeout.tv_sec += timeout.tv_usec / 1000000;
# ^
# tetris.c:548:2: error: invalid use of undefined type 'struct timeval'
# tetris.c:549:2: error: invalid use of undefined type 'struct timeval'
# timeout.tv_usec %= 1000000;
# ^
# tetris.c: In function 'do_special':
# tetris.c:573:5: warning: incompatible implicit declaration of built-in function 'memcpy' [enabled by default]
# memcpy(&oldfield, f, sizeof(Field));
# ^
# tty.c: In function 'wait_for_input':
# tty.c:44:5: error: unknown type name 'fd_set'
# fd_set fds;
# ^
# tetris.c:575:5: warning: implicit declaration of function 'strncmp' [-Wimplicit-function-declaration]
# if (strncmp(type, "cs", 2) == 0) {
# ^
# tty.c:45:20: error: storage size of 'tv' isn't known
# struct timeval tv;
# ^
# tty.c:49:5: warning: implicit declaration of function 'FD_ZERO' [-Wimplicit-function-declaration]
# FD_ZERO(&fds);
# ^
# tetris.c:576:2: warning: implicit declaration of function 'atoi' [-Wimplicit-function-declaration]
# int nlines = atoi(type+2);
# ^
# tty.c:50:5: warning: implicit declaration of function 'FD_SET' [-Wimplicit-function-declaration]
# FD_SET(0, &fds);
# ^
# tty.c:54:5: warning: implicit declaration of function 'select' [-Wimplicit-function-declaration]
# while (select(server_sock+1, &fds, NULL, NULL, msec<0 ? NULL : &tv) < 0) {
# ^
# tetris.c:581:3: warning: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration]
# || strcmp(teams[my_playernum-1],teams[from-1]) != 0
# ^
# tty.c:54:40: error: 'NULL' undeclared (first use in this function)
# while (select(server_sock+1, &fds, NULL, NULL, msec<0 ? NULL : &tv) < 0) {
# ^
# tty.c:54:40: note: each undeclared identifier is reported only once for each function it appears in
# tty.c:55:6: error: 'errno' undeclared (first use in this function)
# if (errno != EINTR)
# ^
# tty.c:55:15: error: 'EINTR' undeclared (first use in this function)
# if (errno != EINTR)
# ^
# tty.c:56:6: warning: implicit declaration of function 'perror' [-Wimplicit-function-declaration]
# perror("Warning: select() failed");
# ^
# tetris.c:584:3: warning: incompatible implicit declaration of built-in function 'memmove' [enabled by default]
# memmove((*f)[0], (*f)[1], FIELD_WIDTH*(FIELD_HEIGHT-1));
# ^
# tty.c:58:5: warning: implicit declaration of function 'FD_ISSET' [-Wimplicit-function-declaration]
# if (FD_ISSET(0, &fds)) {
# ^
# tty.c:59:2: warning: implicit declaration of function 'getch' [-Wimplicit-function-declaration]
# c = getch();
# ^
# tty.c:69:11: error: 'KEY_UP' undeclared (first use in this function)
# if (c == KEY_UP)
# ^
# tetris.c:592:2: warning: incompatible implicit declaration of built-in function 'memmove' [enabled by default]
# memmove((*f)[0], (*f)[1], FIELD_WIDTH*(FIELD_HEIGHT-1));
# ^
# tty.c:71:16: error: 'KEY_DOWN' undeclared (first use in this function)
# else if (c == KEY_DOWN)
# ^
# tty.c:73:16: error: 'KEY_LEFT' undeclared (first use in this function)
# else if (c == KEY_LEFT)
# ^
# tty.c:75:16: error: 'KEY_RIGHT' undeclared (first use in this function)
# else if (c == KEY_RIGHT)
# ^
# tty.c:77:2: warning: implicit declaration of function 'KEY_F' [-Wimplicit-function-declaration]
# else if (c == KEY_F(1) || c == ('1'|0x80) || (escape && c == '1'))
# ^
# tetris.c:608:2: warning: incompatible implicit declaration of built-in function 'memmove' [enabled by default]
# memmove((*f)[1], (*f)[0], FIELD_WIDTH*(FIELD_HEIGHT-1));
# ^
# tty.c:101:16: error: 'KEY_BACKSPACE' undeclared (first use in this function)
# else if (c == KEY_BACKSPACE)
# ^
# tetris.c:609:2: warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]
# memset((*f)[0], 0, FIELD_WIDTH);
# ^
# tty.c:45:20: warning: unused variable 'tv' [-Wunused-variable]
# struct timeval tv;
# ^
# tty.c: At top level:
# tty.c:133:5: error: unknown type name 'WINDOW'
# WINDOW *win; /* NULL if not currently displayed */
# ^
# tty.c:143:1: error: unknown type name 'WINDOW'
# static WINDOW *gmsg_inputwin;
# ^
# tty.c: In function 'screen_cleanup':
# tty.c:153:5: warning: implicit declaration of function 'wmove' [-Wimplicit-function-declaration]
# wmove(stdscr, scrheight-1, 0);
# ^
# tty.c:153:11: error: 'stdscr' undeclared (first use in this function)
# wmove(stdscr, scrheight-1, 0);
# ^
# tty.c:154:5: warning: implicit declaration of function 'wrefresh' [-Wimplicit-function-declaration]
# wrefresh(stdscr);
# ^
# tty.c:155:5: warning: implicit declaration of function 'endwin' [-Wimplicit-function-declaration]
# endwin();
# ^
# tty.c:156:5: warning: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
# printf("\n");
# ^
# tty.c:156:5: warning: incompatible implicit declaration of built-in function 'printf' [enabled by default]
# tetris.c:633:2: warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]
# memset(*f, 0, FIELD_WIDTH*FIELD_HEIGHT);
# ^
# tty.c: In function 'sighandler':
# tty.c:169:16: error: 'SIGTSTP' undeclared (first use in this function)
# if (sig != SIGTSTP) {
# ^
# tty.c:171:13: error: 'SIGINT' undeclared (first use in this function)
# if (sig != SIGINT)
# ^
# tty.c:172:6: warning: implicit declaration of function 'fprintf' [-Wimplicit-function-declaration]
# fprintf(stderr, "%s\n", strsignal(sig));
# ^
# tty.c:172:6: warning: incompatible implicit declaration of built-in function 'fprintf' [enabled by default]
# tty.c:172:14: error: 'stderr' undeclared (first use in this function)
# fprintf(stderr, "%s\n", strsignal(sig));
# ^
# tty.c:172:6: warning: implicit declaration of function 'strsignal' [-Wimplicit-function-declaration]
# fprintf(stderr, "%s\n", strsignal(sig));
# ^
# tty.c:173:2: warning: implicit declaration of function 'exit' [-Wimplicit-function-declaration]
# exit(1);
# ^
# tty.c:173:2: warning: incompatible implicit declaration of built-in function 'exit' [enabled by default]
# tty.c:176:5: warning: implicit declaration of function 'signal' [-Wimplicit-function-declaration]
# signal(SIGTSTP, old_tstp);
# ^
# tetris.c:653:8: warning: implicit declaration of function 'random' [-Wimplicit-function-declaration]
# xnew = random() % FIELD_WIDTH;
# ^
# tty.c:177:5: warning: implicit declaration of function 'raise' [-Wimplicit-function-declaration]
# raise(SIGTSTP);
# ^
# tty.c:178:5: warning: implicit declaration of function 'doupdate' [-Wimplicit-function-declaration]
# doupdate();
# ^
# tty.c: In function 'getcolor':
# tty.c:196:2: warning: implicit declaration of function 'start_color' [-Wimplicit-function-declaration]
# start_color();
# ^
# tty.c:197:2: warning: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
# memset(colors, -1, sizeof(colors));
# ^
# tty.c:197:2: warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]
# tty.c:198:17: error: 'COLOR_WHITE' undeclared (first use in this function)
# colors[0][0] = COLOR_WHITE;
# ^
# tetris.c:672:3: warning: incompatible implicit declaration of built-in function 'memmove' [enabled by default]
# memmove((*f)[y], (*f)[y]+1, FIELD_WIDTH-1);
# ^
# tty.c:199:17: error: 'COLOR_BLACK' undeclared (first use in this function)
# colors[0][1] = COLOR_BLACK;
# ^
# tty.c:202:2: warning: implicit declaration of function 'COLOR_PAIR' [-Wimplicit-function-declaration]
# return COLOR_PAIR(0);
# ^
# tty.c:209:6: warning: implicit declaration of function 'init_pair' [-Wimplicit-function-declaration]
# if (init_pair(i, fg, bg) == ERR)
# ^
# tty.c:209:34: error: 'ERR' undeclared (first use in this function)
# if (init_pair(i, fg, bg) == ERR)
# ^
# tetris.c:679:3: warning: incompatible implicit declaration of built-in function 'memmove' [enabled by default]
# memmove((*f)[y]+1, (*f)[y], FIELD_WIDTH-1);
# ^
# make: *** [Makefile:33: tetrinet.o] Error 1
# tty.c: In function 'screen_setup':
# tty.c:227:12: error: 'SIGINT' undeclared (first use in this function)
# signal(SIGINT, SIG_IGN);
# ^
# tty.c:227:20: error: 'SIG_IGN' undeclared (first use in this function)
# signal(SIGINT, SIG_IGN);
# ^
# tty.c:228:12: error: 'SIGQUIT' undeclared (first use in this function)
# signal(SIGQUIT, SIG_IGN);
# ^
# tty.c:229:12: error: 'SIGTSTP' undeclared (first use in this function)
# signal(SIGTSTP, SIG_IGN);
# ^
# tty.c:231:5: warning: implicit declaration of function 'initscr' [-Wimplicit-function-declaration]
# initscr();
# ^
# tty.c:232:5: warning: implicit declaration of function 'cbreak' [-Wimplicit-function-declaration]
# cbreak();
# ^
# tty.c:233:5: warning: implicit declaration of function 'noecho' [-Wimplicit-function-declaration]
# noecho();
# ^
# tty.c:234:5: warning: implicit declaration of function 'nodelay' [-Wimplicit-function-declaration]
# nodelay(stdscr, TRUE);
# ^
# tty.c:234:13: error: 'stdscr' undeclared (first use in this function)
# nodelay(stdscr, TRUE);
# ^
# tty.c:234:21: error: 'TRUE' undeclared (first use in this function)
# nodelay(stdscr, TRUE);
# ^
# tty.c:235:5: warning: implicit declaration of function 'keypad' [-Wimplicit-function-declaration]
# keypad(stdscr, TRUE);
# ^
# tetris.c:706:6: warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]
# memset(fields[my_playernum-1], 0, 6*FIELD_WIDTH);
# ^
# tty.c:236:5: warning: implicit declaration of function 'leaveok' [-Wimplicit-function-declaration]
# leaveok(stdscr, TRUE);
# ^
# tty.c:237:5: warning: implicit declaration of function 'has_colors' [-Wimplicit-function-declaration]
# if ((has_color = has_colors()))
# ^
# tty.c:239:5: warning: implicit declaration of function 'getmaxyx' [-Wimplicit-function-declaration]
# getmaxyx(stdscr, scrheight, scrwidth);
# ^
# tty.c:243:5: warning: implicit declaration of function 'atexit' [-Wimplicit-function-declaration]
# atexit(screen_cleanup);
# ^
# tty.c:248:12: error: 'SIGTERM' undeclared (first use in this function)
# signal(SIGTERM, sighandler);
# ^
# tetris.c: In function 'gmsg_input':
# tty.c:249:12: error: 'SIGHUP' undeclared (first use in this function)
# signal(SIGHUP, sighandler);
# ^
# tty.c:250:12: error: 'SIGSEGV' undeclared (first use in this function)
# signal(SIGSEGV, sighandler);
# ^
# tty.c:251:12: error: 'SIGABRT' undeclared (first use in this function)
# signal(SIGABRT, sighandler);
# ^
# tty.c:252:12: error: 'SIGIOT' undeclared (first use in this function)
# signal(SIGIOT, sighandler);
# ^
# tty.c:253:12: error: 'SIGTRAP' undeclared (first use in this function)
# signal(SIGTRAP, sighandler);
# ^
# tetris.c:739:2: warning: incompatible implicit declaration of built-in function 'memmove' [enabled by default]
# memmove(curpos+1, curpos, strlen(curpos)+1);
# ^
# tty.c:254:12: error: 'SIGBUS' undeclared (first use in this function)
# signal(SIGBUS, sighandler);
# ^
# tty.c:255:12: error: 'SIGFPE' undeclared (first use in this function)
# signal(SIGFPE, sighandler);
# ^
# tty.c:256:12: error: 'SIGUSR1' undeclared (first use in this function)
# signal(SIGUSR1, sighandler);
# ^
# tty.c:257:12: error: 'SIGUSR2' undeclared (first use in this function)
# signal(SIGUSR2, sighandler);
# ^
# tty.c:258:12: error: 'SIGALRM' undeclared (first use in this function)
# signal(SIGALRM, sighandler);
# ^
# tty.c:263:12: error: 'SIGXCPU' undeclared (first use in this function)
# signal(SIGXCPU, sighandler);
# ^
# tetris.c:739:28: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
# memmove(curpos+1, curpos, strlen(curpos)+1);
# ^
# tty.c:264:12: error: 'SIGXFSZ' undeclared (first use in this function)
# signal(SIGXFSZ, sighandler);
# ^
# tty.c:265:12: error: 'SIGVTALRM' undeclared (first use in this function)
# signal(SIGVTALRM, sighandler);
# ^
# tty.c:268:12: error: 'SIGPIPE' undeclared (first use in this function)
# signal(SIGPIPE, SIG_IGN);
# ^
# tty.c: In function 'screen_refresh':
# tty.c:278:2: warning: implicit declaration of function 'touchline' [-Wimplicit-function-declaration]
# touchline(stdscr, gmsg_inputpos, gmsg_inputheight);
# ^
# tetris.c: In function 'gmsg_delete':
# tty.c:278:12: error: 'stdscr' undeclared (first use in this function)
# touchline(stdscr, gmsg_inputpos, gmsg_inputheight);
# ^
# tty.c:285:5: warning: implicit declaration of function 'wnoutrefresh' [-Wimplicit-function-declaration]
# wnoutrefresh(stdscr);
# ^
# tty.c: In function 'screen_redraw':
# tetris.c:750:2: warning: incompatible implicit declaration of built-in function 'memmove' [enabled by default]
# memmove(curpos, curpos+1, strlen(curpos)-1+1);
# ^
# tty.c:295:5: warning: implicit declaration of function 'clearok' [-Wimplicit-function-declaration]
# clearok(stdscr, TRUE);
# ^
# tty.c:295:13: error: 'stdscr' undeclared (first use in this function)
# clearok(stdscr, TRUE);
# ^
# tty.c:295:21: error: 'TRUE' undeclared (first use in this function)
# clearok(stdscr, TRUE);
# ^
# tty.c: In function 'outline':
# tty.c:309:6: warning: implicit declaration of function 'scroll' [-Wimplicit-function-declaration]
# scroll(buf->win);
# ^
# tty.c:310:2: warning: implicit declaration of function 'memmove' [-Wimplicit-function-declaration]
# memmove(buf->text, buf->text+1, (buf->height-1) * sizeof(char *));
# ^
# tetris.c:750:28: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
# memmove(curpos, curpos+1, strlen(curpos)-1+1);
# ^
# tty.c:310:2: warning: incompatible implicit declaration of built-in function 'memmove' [enabled by default]
# tty.c:314:2: warning: implicit declaration of function 'mvwaddstr' [-Wimplicit-function-declaration]
# mvwaddstr(buf->win, buf->line, 0, s);
# ^
# tty.c:316:2: warning: implicit declaration of function 'strdup' [-Wimplicit-function-declaration]
# buf->text[buf->line] = strdup(s);
# ^
# tty.c:316:25: warning: incompatible implicit declaration of built-in function 'strdup' [enabled by default]
# buf->text[buf->line] = strdup(s);
# ^
# tetris.c: In function 'gmsg_move':
# tty.c: In function 'draw_text':
# tty.c:337:2: warning: implicit declaration of function 'getyx' [-Wimplicit-function-declaration]
# getyx(stdscr, y, x);
# ^
# tty.c:337:8: error: 'stdscr' undeclared (first use in this function)
# getyx(stdscr, y, x);
# ^
# tty.c:338:2: warning: implicit declaration of function 'attrset' [-Wimplicit-function-declaration]
# attrset(getcolor(COLOR_WHITE, COLOR_BLACK));
# ^
# tty.c:338:19: error: 'COLOR_WHITE' undeclared (first use in this function)
# attrset(getcolor(COLOR_WHITE, COLOR_BLACK));
# ^
# tetris.c:788:13: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
# gmsg_pos = strlen(gmsg_buffer);
# ^
# tty.c:338:32: error: 'COLOR_BLACK' undeclared (first use in this function)
# attrset(getcolor(COLOR_WHITE, COLOR_BLACK));
# ^
# tty.c:340:5: warning: implicit declaration of function 'isspace' [-Wimplicit-function-declaration]
# while (*s && isspace(*s))
# ^
# tetris.c: In function 'gmsg_enter':
# tty.c:342:5: warning: implicit declaration of function 'strlen' [-Wimplicit-function-declaration]
# while (strlen(s) > buf->width - indent) {
# ^
# tty.c:342:12: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
# while (strlen(s) > buf->width - indent) {
# ^
# tetris.c:798:2: warning: implicit declaration of function 'strncasecmp' [-Wimplicit-function-declaration]
# if (strncasecmp(gmsg_buffer, "/me ", 4) == 0)
# ^
# tty.c:352:6: warning: implicit declaration of function 'sprintf' [-Wimplicit-function-declaration]
# sprintf(str, "%*s", indent, "");
# ^
# tty.c:352:6: warning: incompatible implicit declaration of built-in function 'sprintf' [enabled by default]
# tty.c:353:2: warning: implicit declaration of function 'strncpy' [-Wimplicit-function-declaration]
# strncpy(str+indent, s, t-s);
# ^
# tty.c:353:2: warning: incompatible implicit declaration of built-in function 'strncpy' [enabled by default]
# tetris.c: In function 'new_game':
# tty.c:362:2: warning: incompatible implicit declaration of built-in function 'sprintf' [enabled by default]
# sprintf(str, "%*s", indent, "");
# ^
# tty.c:363:5: warning: implicit declaration of function 'strcpy' [-Wimplicit-function-declaration]
# strcpy(str+indent, s);
# ^
# tty.c:363:5: warning: incompatible implicit declaration of built-in function 'strcpy' [enabled by default]
# tetris.c:819:28: error: 'NULL' undeclared (first use in this function)
# gettimeofday(&timeout, NULL);
# ^
# tty.c:366:2: warning: implicit declaration of function 'move' [-Wimplicit-function-declaration]
# move(y, x);
# ^
# tty.c: In function 'clear_text':
# tetris.c:820:5: error: invalid use of undefined type 'struct timeval'
# timeout.tv_usec += 1200000;
# ^
# tty.c:389:3: warning: implicit declaration of function 'free' [-Wimplicit-function-declaration]
# free(buf->text[i]);
# ^
# tty.c:389:3: warning: incompatible implicit declaration of built-in function 'free' [enabled by default]
# tty.c:390:18: error: 'NULL' undeclared (first use in this function)
# buf->text[i] = NULL;
# ^
# tty.c:396:2: warning: implicit declaration of function 'werase' [-Wimplicit-function-declaration]
# werase(buf->win);
# ^
# tetris.c:821:5: error: invalid use of undefined type 'struct timeval'
# timeout.tv_sec += timeout.tv_usec / 1000000;
# ^
# tetris.c:821:5: error: invalid use of undefined type 'struct timeval'
# tty.c: In function 'open_textwin':
# tty.c:421:2: warning: implicit declaration of function 'snprintf' [-Wimplicit-function-declaration]
# snprintf(str, sizeof(str), "ERROR: bad textwin size (%d,%d)",
# ^
# tetris.c:822:5: error: invalid use of undefined type 'struct timeval'
# timeout.tv_usec %= 1000000;
# ^
# tty.c:421:2: warning: incompatible implicit declaration of built-in function 'snprintf' [enabled by default]
# tty.c:423:2: warning: implicit declaration of function 'addstr' [-Wimplicit-function-declaration]
# addstr(str);
# ^
# tetris.c: In function 'tetris_timeout':
# tty.c:424:2: warning: incompatible implicit declaration of built-in function 'exit' [enabled by default]
# exit(1);
# ^
# tetris.c:838:20: error: storage size of 'tv' isn't known
# struct timeval tv;
# ^
# tty.c:427:2: warning: implicit declaration of function 'subwin' [-Wimplicit-function-declaration]
# buf->win = subwin(stdscr, buf->height, buf->width, buf->y, buf->x);
# ^
# tty.c:427:20: error: 'stdscr' undeclared (first use in this function)
# buf->win = subwin(stdscr, buf->height, buf->width, buf->y, buf->x);
# ^
# tetris.c:841:23: error: 'NULL' undeclared (first use in this function)
# gettimeofday(&tv, NULL);
# ^
# tty.c:428:2: warning: implicit declaration of function 'scrollok' [-Wimplicit-function-declaration]
# scrollok(buf->win, TRUE);
# ^
# tty.c:428:21: error: 'TRUE' undeclared (first use in this function)
# scrollok(buf->win, TRUE);
# ^
# tetris.c:842:5: error: invalid use of undefined type 'struct timeval'
# t = (timeout.tv_sec - tv.tv_sec) * 1000
# ^
# tty.c:431:2: warning: implicit declaration of function 'calloc' [-Wimplicit-function-declaration]
# buf->text = calloc(buf->height, sizeof(char *));
# ^
# tty.c:431:14: warning: incompatible implicit declaration of built-in function 'calloc' [enabled by default]
# buf->text = calloc(buf->height, sizeof(char *));
# ^
# tetris.c:843:7: error: invalid use of undefined type 'struct timeval'
# + (timeout.tv_usec-tv.tv_usec) / 1000;
# ^
# tty.c: In function 'close_textwin':
# tty.c:443:2: warning: implicit declaration of function 'delwin' [-Wimplicit-function-declaration]
# delwin(buf->win);
# ^
# tty.c:444:13: error: 'NULL' undeclared (first use in this function)
# buf->win = NULL;
# ^
# tetris.c:838:20: warning: unused variable 'tv' [-Wunused-variable]
# struct timeval tv;
# ^
# tty.c: In function 'setup_fields':
# tty.c:497:27: error: 'A_ATTRIBUTES' undeclared (first use in this function)
# if (!(tile_chars[0] & A_ATTRIBUTES)) {
# ^
# tty.c:499:23: error: 'A_BOLD' undeclared (first use in this function)
# tile_chars[i] |= A_BOLD;
# ^
# tty.c:500:28: error: 'COLOR_BLUE' undeclared (first use in this function)
# tile_chars[1] |= getcolor(COLOR_BLUE, COLOR_BLACK);
# ^
# tty.c:500:40: error: 'COLOR_BLACK' undeclared (first use in this function)
# tile_chars[1] |= getcolor(COLOR_BLUE, COLOR_BLACK);
# ^
# tty.c:501:28: error: 'COLOR_YELLOW' undeclared (first use in this function)
# tile_chars[2] |= getcolor(COLOR_YELLOW, COLOR_BLACK);
# ^
# tty.c:502:28: error: 'COLOR_GREEN' undeclared (first use in this function)
# tile_chars[3] |= getcolor(COLOR_GREEN, COLOR_BLACK);
# ^
# tty.c:503:28: error: 'COLOR_MAGENTA' undeclared (first use in this function)
# tile_chars[4] |= getcolor(COLOR_MAGENTA, COLOR_BLACK);
# ^
# tetris.c: In function 'tetris_input':
# tty.c:504:28: error: 'COLOR_RED' undeclared (first use in this function)
# tile_chars[5] |= getcolor(COLOR_RED, COLOR_BLACK);
# ^
# tty.c:508:13: error: 'stdscr' undeclared (first use in this function)
# leaveok(stdscr, TRUE);
# ^
# tetris.c:1004:6: warning: incompatible implicit declaration of built-in function 'memmove' [enabled by default]
# memmove(specials, specials+1, special_capacity-1);
# ^
# tty.c:508:21: error: 'TRUE' undeclared (first use in this function)
# leaveok(stdscr, TRUE);
# ^
# tty.c:510:5: warning: implicit declaration of function 'clear' [-Wimplicit-function-declaration]
# clear();
# ^
# tty.c:511:22: error: 'COLOR_WHITE' undeclared (first use in this function)
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:530:2: warning: implicit declaration of function 'hline' [-Wimplicit-function-declaration]
# hline(MY_HLINE2, scrwidth);
# ^
# tty.c:31:29: error: 'ACS_HLINE' undeclared (first use in this function)
# #define MY_HLINE2 (fancy ? (ACS_HLINE | A_BOLD) : '=')
# ^
# tty.c:530:8: note: in expansion of macro 'MY_HLINE2'
# hline(MY_HLINE2, scrwidth);
# ^
# tty.c:540:14: error: 'A_NORMAL' undeclared (first use in this function)
# attrset(A_NORMAL);
# ^
# tty.c:557:5: warning: incompatible implicit declaration of built-in function 'sprintf' [enabled by default]
# sprintf(buf, "%d", my_playernum);
# ^
# tty.c:558:5: warning: implicit declaration of function 'mvaddstr' [-Wimplicit-function-declaration]
# mvaddstr(y, x-1, buf);
# ^
# tty.c:560:2: warning: implicit declaration of function 'mvaddch' [-Wimplicit-function-declaration]
# mvaddch(y+i, x-1, players[my_playernum-1][i-2]);
# ^
# tty.c:567:5: warning: implicit declaration of function 'vline' [-Wimplicit-function-declaration]
# vline(MY_VLINE, FIELD_HEIGHT*2);
# ^
# tty.c:25:27: error: 'ACS_VLINE' undeclared (first use in this function)
# #define MY_VLINE (fancy ? ACS_VLINE : '|')
# ^
# tty.c:567:11: note: in expansion of macro 'MY_VLINE'
# vline(MY_VLINE, FIELD_HEIGHT*2);
# ^
# tty.c:571:5: warning: implicit declaration of function 'addch' [-Wimplicit-function-declaration]
# addch(MY_LLCORNER);
# ^
# tty.c:28:30: error: 'ACS_LLCORNER' undeclared (first use in this function)
# #define MY_LLCORNER (fancy ? ACS_LLCORNER : '+')
# ^
# tty.c:571:11: note: in expansion of macro 'MY_LLCORNER'
# addch(MY_LLCORNER);
# ^
# tty.c:29:30: error: 'ACS_LRCORNER' undeclared (first use in this function)
# #define MY_LRCORNER (fancy ? ACS_LRCORNER : '+')
# ^
# tty.c:574:11: note: in expansion of macro 'MY_LRCORNER'
# addch(MY_LRCORNER);
# ^
# tty.c:26:30: error: 'ACS_ULCORNER' undeclared (first use in this function)
# #define MY_ULCORNER (fancy ? ACS_ULCORNER : '+')
# ^
# tty.c:629:8: note: in expansion of macro 'MY_ULCORNER'
# addch(MY_ULCORNER);
# ^
# tty.c:27:30: error: 'ACS_URCORNER' undeclared (first use in this function)
# #define MY_URCORNER (fancy ? ACS_URCORNER : '+')
# ^
# tty.c:631:20: note: in expansion of macro 'MY_URCORNER'
# mvaddch(y-1, x+8, MY_URCORNER);
# ^
# tty.c:658:18: error: 'NULL' undeclared (first use in this function)
# gmsg_inputwin = NULL;
# ^
# tty.c: In function 'draw_own_field':
# tty.c:712:15: error: 'COLOR_BLACK' undeclared (first use in this function)
# | getcolor(COLOR_BLACK, COLOR_BLACK) | A_BOLD;
# ^
# tty.c:712:43: error: 'A_BOLD' undeclared (first use in this function)
# | getcolor(COLOR_BLACK, COLOR_BLACK) | A_BOLD;
# ^
# tty.c:724:18: error: 'NULL' undeclared (first use in this function)
# gmsg_inputwin = NULL;
# ^
# tty.c: In function 'draw_other_field':
# tty.c:756:18: error: 'NULL' undeclared (first use in this function)
# gmsg_inputwin = NULL;
# ^
# tty.c: In function 'draw_status':
# tty.c:774:5: warning: incompatible implicit declaration of built-in function 'sprintf' [enabled by default]
# sprintf(buf, "%d", lines>99999 ? 99999 : lines);
# ^
# tty.c: At top level:
# tty.c:857:7: error: 'NULL' undeclared here (not in a function)
# { NULL }
# ^
# tty.c: In function 'draw_attdef':
# tty.c:867:2: warning: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration]
# if (strcmp(type, msgs[i][0]) == 0)
# ^
# tty.c:872:5: warning: incompatible implicit declaration of built-in function 'strcpy' [enabled by default]
# strcpy(buf, msgs[i][1]);
# ^
# tty.c:874:2: warning: incompatible implicit declaration of built-in function 'sprintf' [enabled by default]
# sprintf(buf+strlen(buf), " on %s", players[to-1]);
# ^
# tty.c:874:14: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
# sprintf(buf+strlen(buf), " on %s", players[to-1]);
# ^
# tty.c:862:12: warning: variable 'width' set but not used [-Wunused-but-set-variable]
# int i, width;
# ^
# tty.c: In function 'draw_gmsg_input':
# tty.c:901:22: error: 'COLOR_WHITE' undeclared (first use in this function)
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:901:34: error: 'COLOR_BLACK' undeclared (first use in this function)
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:901:5: warning: passing argument 1 of 'getcolor' makes integer from pointer without a cast [enabled by default]
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:191:13: note: expected 'int' but argument is of type 'const char * (*)[2]'
# static long getcolor(int fg, int bg)
# ^
# tty.c:901:5: warning: passing argument 2 of 'getcolor' makes integer from pointer without a cast [enabled by default]
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:191:13: note: expected 'int' but argument is of type 'const char * (*)[2]'
# static long getcolor(int fg, int bg)
# ^
# tty.c:907:10: error: 'stdscr' undeclared (first use in this function)
# subwin(stdscr, gmsg_inputheight, scrwidth, gmsg_inputpos, 0);
# ^
# tty.c:906:16: warning: assignment makes pointer from integer without a cast [enabled by default]
# gmsg_inputwin =
# ^
# tty.c:909:25: error: 'FALSE' undeclared (first use in this function)
# leaveok(gmsg_inputwin, FALSE);
# ^
# tty.c:914:9: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
# if (strlen(s) < scrwidth-7) {
# ^
# tty.c:919:2: warning: implicit declaration of function 'wclrtoeol' [-Wimplicit-function-declaration]
# wclrtoeol(gmsg_inputwin);
# ^
# tty.c:932:2: warning: implicit declaration of function 'mvwaddnstr' [-Wimplicit-function-declaration]
# mvwaddnstr(gmsg_inputwin, 1, 6, s+start, scrwidth-6);
# ^
# tty.c: In function 'clear_gmsg_input':
# tty.c:947:16: warning: assignment from incompatible pointer type [enabled by default]
# gmsg_inputwin = NULL;
# ^
# tty.c:948:10: error: 'stdscr' undeclared (first use in this function)
# leaveok(stdscr, TRUE);
# ^
# tty.c:948:18: error: 'TRUE' undeclared (first use in this function)
# leaveok(stdscr, TRUE);
# ^
# tty.c: In function 'setup_partyline':
# tty.c:965:22: error: 'COLOR_WHITE' undeclared (first use in this function)
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:965:34: error: 'COLOR_BLACK' undeclared (first use in this function)
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:965:5: warning: passing argument 1 of 'getcolor' makes integer from pointer without a cast [enabled by default]
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:191:13: note: expected 'int' but argument is of type 'const char * (*)[2]'
# static long getcolor(int fg, int bg)
# ^
# tty.c:965:5: warning: passing argument 2 of 'getcolor' makes integer from pointer without a cast [enabled by default]
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:191:13: note: expected 'int' but argument is of type 'const char * (*)[2]'
# static long getcolor(int fg, int bg)
# ^
# tty.c:24:27: error: 'ACS_HLINE' undeclared (first use in this function)
# #define MY_HLINE (fancy ? ACS_HLINE : '-')
# ^
# tty.c:973:11: note: in expansion of macro 'MY_HLINE'
# hline(MY_HLINE, scrwidth);
# ^
# tty.c:24:37: warning: pointer/integer type mismatch in conditional expression [enabled by default]
# #define MY_HLINE (fancy ? ACS_HLINE : '-')
# ^
# tty.c:973:11: note: in expansion of macro 'MY_HLINE'
# hline(MY_HLINE, scrwidth);
# ^
# tty.c:31:41: error: 'A_BOLD' undeclared (first use in this function)
# #define MY_HLINE2 (fancy ? (ACS_HLINE | A_BOLD) : '=')
# ^
# tty.c:978:11: note: in expansion of macro 'MY_HLINE2'
# hline(MY_HLINE2, scrwidth);
# ^
# tty.c:31:39: error: invalid operands to binary | (have 'const char * (*)[2]' and 'const char * (*)[2]')
# #define MY_HLINE2 (fancy ? (ACS_HLINE | A_BOLD) : '=')
# ^
# tty.c:978:11: note: in expansion of macro 'MY_HLINE2'
# hline(MY_HLINE2, scrwidth);
# ^
# tty.c:31:49: warning: pointer/integer type mismatch in conditional expression [enabled by default]
# #define MY_HLINE2 (fancy ? (ACS_HLINE | A_BOLD) : '=')
# ^
# tty.c:978:11: note: in expansion of macro 'MY_HLINE2'
# hline(MY_HLINE2, scrwidth);
# ^
# tty.c:984:13: error: 'A_NORMAL' undeclared (first use in this function)
# attrset(A_NORMAL);
# ^
# tty.c:987:13: error: 'stdscr' undeclared (first use in this function)
# leaveok(stdscr, FALSE);
# ^
# tty.c:987:21: error: 'FALSE' undeclared (first use in this function)
# leaveok(stdscr, FALSE);
# ^
# tty.c: In function 'draw_partyline_input':
# tty.c:997:22: error: 'COLOR_WHITE' undeclared (first use in this function)
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:997:34: error: 'COLOR_BLACK' undeclared (first use in this function)
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:997:5: warning: passing argument 1 of 'getcolor' makes integer from pointer without a cast [enabled by default]
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:191:13: note: expected 'int' but argument is of type 'const char * (*)[2]'
# static long getcolor(int fg, int bg)
# ^
# tty.c:997:5: warning: passing argument 2 of 'getcolor' makes integer from pointer without a cast [enabled by default]
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:191:13: note: expected 'int' but argument is of type 'const char * (*)[2]'
# static long getcolor(int fg, int bg)
# ^
# tty.c:998:9: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
# if (strlen(s) < scrwidth-3) {
# ^
# tty.c:1002:2: warning: implicit declaration of function 'clrtoeol' [-Wimplicit-function-declaration]
# clrtoeol();
# ^
# tty.c:1014:2: warning: implicit declaration of function 'mvaddnstr' [-Wimplicit-function-declaration]
# mvaddnstr(scrheight-3, 2, s+start, scrwidth-2);
# ^
# tty.c: In function 'setup_winlist':
# tty.c:1029:13: error: 'stdscr' undeclared (first use in this function)
# leaveok(stdscr, TRUE);
# ^
# tty.c:1029:21: error: 'TRUE' undeclared (first use in this function)
# leaveok(stdscr, TRUE);
# ^
# tty.c:1032:22: error: 'COLOR_WHITE' undeclared (first use in this function)
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:1032:34: error: 'COLOR_BLACK' undeclared (first use in this function)
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:1032:5: warning: passing argument 1 of 'getcolor' makes integer from pointer without a cast [enabled by default]
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:191:13: note: expected 'int' but argument is of type 'const char * (*)[2]'
# static long getcolor(int fg, int bg)
# ^
# tty.c:1032:5: warning: passing argument 2 of 'getcolor' makes integer from pointer without a cast [enabled by default]
# attrset(getcolor(COLOR_WHITE,COLOR_BLACK));
# ^
# tty.c:191:13: note: expected 'int' but argument is of type 'const char * (*)[2]'
# static long getcolor(int fg, int bg)
# ^
# tty.c:1035:19: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
# x = scrwidth/2 - strlen(winlist[i].name);
# ^
# tty.c:1044:2: warning: incompatible implicit declaration of built-in function 'snprintf' [enabled by default]
# snprintf(buf, sizeof(buf), "%4d", winlist[i].points);
# ^
# tty.c:31:29: error: 'ACS_HLINE' undeclared (first use in this function)
# #define MY_HLINE2 (fancy ? (ACS_HLINE | A_BOLD) : '=')
# ^
# tty.c:1057:11: note: in expansion of macro 'MY_HLINE2'
# hline(MY_HLINE2, scrwidth);
# ^
# tty.c:31:41: error: 'A_BOLD' undeclared (first use in this function)
# #define MY_HLINE2 (fancy ? (ACS_HLINE | A_BOLD) : '=')
# ^
# tty.c:1057:11: note: in expansion of macro 'MY_HLINE2'
# hline(MY_HLINE2, scrwidth);
# ^
# tty.c:31:39: error: invalid operands to binary | (have 'const char * (*)[2]' and 'const char * (*)[2]')
# #define MY_HLINE2 (fancy ? (ACS_HLINE | A_BOLD) : '=')
# ^
# tty.c:1057:11: note: in expansion of macro 'MY_HLINE2'
# hline(MY_HLINE2, scrwidth);
# ^
# tty.c:31:49: warning: pointer/integer type mismatch in conditional expression [enabled by default]
# #define MY_HLINE2 (fancy ? (ACS_HLINE | A_BOLD) : '=')
# ^
# tty.c:1057:11: note: in expansion of macro 'MY_HLINE2'
# hline(MY_HLINE2, scrwidth);
# ^
# make: *** [Makefile:33: tetris.o] Error 1
# tty.c:1063:13: error: 'A_NORMAL' undeclared (first use in this function)
# attrset(A_NORMAL);
# ^
# tty.c: In function 'wait_for_input':
# tty.c:114:1: warning: control reaches end of non-void function [-Wreturn-type]
# }
# ^
# make: *** [Makefile:33: tty.o] Error 1
# ==> ERROR: A failure occurred in build().
# Aborting...