Bug Summary

File:src/games/trek/main.c
Warning:line 138, column 2
Value stored to 'ac' is never read

Annotated Source Code

Press '?' to see keyboard shortcuts

clang -cc1 -cc1 -triple amd64-unknown-openbsd7.0 -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 1 -pic-is-pie -mframe-pointer=all -relaxed-aliasing -fno-rounding-math -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-feature +retpoline-indirect-calls -target-feature +retpoline-indirect-branches -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/usr/src/games/trek/obj -resource-dir /usr/local/lib/clang/13.0.0 -internal-isystem /usr/local/lib/clang/13.0.0/include -internal-externc-isystem /usr/include -O2 -fdebug-compilation-dir=/usr/src/games/trek/obj -ferror-limit 19 -fwrapv -D_RET_PROTECTOR -ret-protector -fgnuc-version=4.2.1 -vectorize-loops -vectorize-slp -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-valloc -fno-builtin-free -fno-builtin-strdup -fno-builtin-strndup -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /home/ben/Projects/vmm/scan-build/2022-01-12-194120-40624-1 -x c /usr/src/games/trek/main.c
1/* $OpenBSD: main.c,v 1.19 2021/01/27 01:57:37 deraadt Exp $ */
2/* $NetBSD: main.c,v 1.4 1995/04/22 10:59:10 cgd Exp $ */
3
4/*
5 * Copyright (c) 1980, 1993
6 * The Regents of the University of California. All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 * 3. Neither the name of the University nor the names of its contributors
17 * may be used to endorse or promote products derived from this software
18 * without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 * SUCH DAMAGE.
31 */
32
33#include <err.h>
34#include <setjmp.h>
35#include <stdio.h>
36#include <stdlib.h>
37#include <unistd.h>
38
39#include "getpar.h"
40#include "trek.h"
41
42struct quad Quad[NQUADS8][NQUADS8];
43char Sect[NSECTS10][NSECTS10];
44struct event Event[MAXEVENTS25];
45struct Ship Ship;
46struct Game Game;
47struct Move Move;
48struct Param Param;
49struct Now Now;
50struct Etc Etc;
51
52/*
53** #### ##### # #### ##### #### ##### # #
54** # # # # # # # # # # # #
55** ### # ##### #### # #### ### ###
56** # # # # # # # # # # # #
57** #### # # # # # # # # ##### # #
58**
59** C version by Eric P. Allman 5/76 (U.C. Berkeley) with help
60** from Jeff Poskanzer and Pete Rubinstein.
61**
62** I also want to thank everyone here at Berkeley who
63** where crazy enough to play the undebugged game. I want to
64** particularly thank Nick Whyte, who made considerable
65** suggestions regarding the content of the game. Why, I'll
66** never forget the time he suggested the name for the
67** "capture" command.
68**
69** Please send comments, questions, and suggestions about this
70** game to:
71** Eric P. Allman
72** Project INGRES
73** Electronics Research Laboratory
74** Cory Hall
75** University of California
76** Berkeley, California 94720
77**
78** If you make ANY changes in the game, I sure would like to
79** know about them. It is sort of an ongoing project for me,
80** and I very much want to put in any bug fixes and improvements
81** that you might come up with.
82**
83** FORTRASH version by Kay R. Fisher (DEC) "and countless others".
84** That was adapted from the "original BASIC program" (ha!) by
85** Mike Mayfield (Centerline Engineering).
86**
87** Additional inspiration taken from FORTRAN version by
88** David Matuszek and Paul Reynolds which runs on the CDC
89** 7600 at Lawrence Berkeley Lab, maintained there by
90** Andy Davidson. This version is also available at LLL
91** and at LMSC. In all fairness, this version was the
92** major inspiration for this version of the game (trans-
93** lation: I ripped off a whole lot of code).
94**
95** Minor other input from the "Battelle Version 7A" by Joe Miller
96** (Graphics Systems Group, Battelle-Columbus Labs) and
97** Ross Pavlac (Systems Programmer, Battelle Memorial
98** Institute). That version was written in December '74
99** and extensively modified June '75. It was adapted
100** from the FTN version by Ron Williams of CDC Sunnyvale,
101** which was adapted from the Basic version distributed
102** by DEC. It also had "neat stuff swiped" from T. T.
103** Terry and Jim Korp (University of Texas), Hicks (Penn
104** U.), and Rick Maus (Georgia Tech). Unfortunately, it
105** was not as readable as it could have been and so the
106** translation effort was severely hampered. None the
107** less, I got the idea of inhabited starsystems from this
108** version.
109**
110** Permission is given for use, copying, and modification of
111** all or part of this program and related documentation,
112** provided that all reference to the authors are maintained.
113**
114**
115**********************************************************************
116**
117** NOTES TO THE MAINTAINER:
118**
119** There is a compilation option xTRACE which must be set for any
120** trace information to be generated (the -t option must also be
121** set on the command line). It is no longer defined by default.
122**
123***********************************************************************
124*/
125
126jmp_buf env;
127
128int
129main(int argc, char **argv)
130{
131 int ac;
132 char **av;
133
134 if (pledge("stdio", NULL((void *)0)) == -1)
135 err(1, "pledge");
136
137 av = argv;
138 ac = argc;
Value stored to 'ac' is never read
139 av++;
140
141#ifdef xTRACE
142 Trace = 0;
143 while (ac > 1 && av[0][0] == '-')
144 {
145 switch (av[0][1])
146 {
147 case 't': /* trace */
148 Trace++;
149 break;
150
151 default:
152 printf("Invalid option: %s\n", av[0]);
153
154 }
155 ac--;
156 av++;
157 }
158#endif
159
160 printf("\n * * * S T A R T R E K * * *\n\nPress return to continue.\n");
161
162 if (setjmp(env))
163 {
164 if ( !getynpar("Another game") )
165 return 0;
166 }
167 do
168 {
169 setup();
170 play();
171 } while (getynpar("Another game"));
172
173 fflush(stdout(&__sF[1]));
174 return 0;
175}