Mercurial > hg > early-roguelike
comparison rogue4/mach_dep.c @ 225:4f6e056438eb
Merge the GCC5 and build fix branches.
author | John "Elwin" Edwards |
---|---|
date | Wed, 02 Mar 2016 21:28:34 -0500 |
parents | 1b73a8641b37 |
children | d3968e9cb98d |
comparison
equal
deleted
inserted
replaced
224:4d0f53998e8a | 225:4f6e056438eb |
---|---|
45 #ifdef LOCKFILE | 45 #ifdef LOCKFILE |
46 static char *lockfile = LOCKFILE; | 46 static char *lockfile = LOCKFILE; |
47 #endif | 47 #endif |
48 #endif | 48 #endif |
49 | 49 |
50 int too_much(void); | |
51 bool author(void); | |
52 void checkout(int s); | |
53 void chmsg(char *fmt, int arg); | |
54 | |
50 /* | 55 /* |
51 * init_check: | 56 * init_check: |
52 * Check out too see if it is proper to play the game now | 57 * Check out too see if it is proper to play the game now |
53 */ | 58 */ |
54 init_check() | 59 void |
60 init_check(void) | |
55 { | 61 { |
56 if (too_much()) | 62 if (too_much()) |
57 { | 63 { |
58 printf("Sorry, %s, but the system is too loaded now.\n", whoami); | 64 printf("Sorry, %s, but the system is too loaded now.\n", whoami); |
59 printf("Try again later. Meanwhile, why not enjoy a%s %s?\n", | 65 printf("Try again later. Meanwhile, why not enjoy a%s %s?\n", |
68 /* | 74 /* |
69 * open_score: | 75 * open_score: |
70 * Open up the score file for future use, and then | 76 * Open up the score file for future use, and then |
71 * setuid(getuid()) in case we are running setuid. | 77 * setuid(getuid()) in case we are running setuid. |
72 */ | 78 */ |
73 open_score() | 79 void |
80 open_score(void) | |
74 { | 81 { |
75 #ifdef SCOREFILE | 82 #ifdef SCOREFILE |
76 fd = open(SCOREFILE, O_RDWR | O_CREAT, 0666 ); | 83 fd = open(SCOREFILE, O_RDWR | O_CREAT, 0666 ); |
77 #else | 84 #else |
78 fd = -1; | 85 fd = -1; |
80 if (!use_savedir) | 87 if (!use_savedir) |
81 md_normaluser(); | 88 md_normaluser(); |
82 return; | 89 return; |
83 } | 90 } |
84 | 91 |
85 void open_log(void) | 92 void |
93 open_log(void) | |
86 { | 94 { |
87 #ifdef LOGFILE | 95 #ifdef LOGFILE |
88 lfd = open(LOGFILE, O_WRONLY | O_APPEND | O_CREAT, 0666); | 96 lfd = open(LOGFILE, O_WRONLY | O_APPEND | O_CREAT, 0666); |
89 #else | 97 #else |
90 lfd = -1; | 98 lfd = -1; |
94 | 102 |
95 /* | 103 /* |
96 * setup: | 104 * setup: |
97 * Get starting setup for all games | 105 * Get starting setup for all games |
98 */ | 106 */ |
99 setup() | 107 void |
108 setup(void) | |
100 { | 109 { |
101 void auto_save(), quit(), endit(), tstp(); | 110 void auto_save(), quit(), endit(), tstp(); |
102 #ifdef CHECKTIME | |
103 int checkout(); | |
104 #endif | |
105 | 111 |
106 /* | 112 /* |
107 * make sure that large terminals don't overflow the bounds | 113 * make sure that large terminals don't overflow the bounds |
108 * of the program | 114 * of the program |
109 */ | 115 */ |
156 | 162 |
157 /* | 163 /* |
158 * start_score: | 164 * start_score: |
159 * Start the scoring sequence | 165 * Start the scoring sequence |
160 */ | 166 */ |
161 start_score() | 167 void |
168 start_score(void) | |
162 { | 169 { |
163 #ifdef SIGALRM | 170 #ifdef SIGALRM |
164 signal(SIGALRM, SIG_IGN); | 171 signal(SIGALRM, SIG_IGN); |
165 #endif | 172 #endif |
166 } | 173 } |
167 | 174 |
168 /* | 175 /* |
169 * issymlink: | 176 * issymlink: |
170 * See if the file has a symbolic link | 177 * See if the file has a symbolic link |
171 */ | 178 */ |
172 issymlink(sp) | 179 bool |
173 char *sp; | 180 issymlink(char *sp) |
174 { | 181 { |
175 #ifdef S_IFLNK | 182 #ifdef S_IFLNK |
176 struct stat sbuf2; | 183 struct stat sbuf2; |
177 | 184 |
178 if (lstat(sp, &sbuf2) < 0) | 185 if (lstat(sp, &sbuf2) < 0) |
186 | 193 |
187 /* | 194 /* |
188 * too_much: | 195 * too_much: |
189 * See if the system is being used too much for this game | 196 * See if the system is being used too much for this game |
190 */ | 197 */ |
191 too_much() | 198 int |
199 too_much(void) | |
192 { | 200 { |
193 #ifdef MAXLOAD | 201 #ifdef MAXLOAD |
194 double avec[3]; | 202 double avec[3]; |
195 | 203 |
196 if (md_getloadavg(avec) == 0) | 204 if (md_getloadavg(avec) == 0) |
206 | 214 |
207 /* | 215 /* |
208 * author: | 216 * author: |
209 * See if a user is an author of the program | 217 * See if a user is an author of the program |
210 */ | 218 */ |
211 author() | 219 bool |
220 author(void) | |
212 { | 221 { |
213 #ifdef WIZARD | 222 #ifdef WIZARD |
214 if (wizard) | 223 if (wizard) |
215 return TRUE; | 224 return TRUE; |
216 #endif | 225 #endif |
244 if (too_much()) | 253 if (too_much()) |
245 { | 254 { |
246 if (author()) | 255 if (author()) |
247 { | 256 { |
248 num_checks = 1; | 257 num_checks = 1; |
249 chmsg("The load is rather high, O exaulted one"); | 258 chmsg("The load is rather high, O exaulted one", 0); |
250 } | 259 } |
251 else if (num_checks++ == 3) | 260 else if (num_checks++ == 3) |
252 fatal("Sorry. You took to long. You are dead\n"); | 261 fatal("Sorry. You took to long. You are dead\n"); |
253 | 262 |
254 #ifdef CHECKTIME | 263 #ifdef CHECKTIME |
263 else | 272 else |
264 { | 273 { |
265 if (num_checks) | 274 if (num_checks) |
266 { | 275 { |
267 num_checks = 0; | 276 num_checks = 0; |
268 chmsg("The load has dropped back down. You have a reprieve"); | 277 chmsg("The load has dropped back down. You have a reprieve", 0); |
269 } | 278 } |
270 #ifdef CHECKTIME | 279 #ifdef CHECKTIME |
271 #ifdef SIGALRM | 280 #ifdef SIGALRM |
272 alarm(CHECKTIME * 60); | 281 alarm(CHECKTIME * 60); |
273 #endif | 282 #endif |
278 /* | 287 /* |
279 * chmsg: | 288 * chmsg: |
280 * checkout()'s version of msg. If we are in the middle of a | 289 * checkout()'s version of msg. If we are in the middle of a |
281 * shell, do a printf instead of a msg to avoid the refresh. | 290 * shell, do a printf instead of a msg to avoid the refresh. |
282 */ | 291 */ |
283 chmsg(fmt, arg) | 292 void |
284 char *fmt; | 293 chmsg(char *fmt, int arg) |
285 int arg; | |
286 { | 294 { |
287 if (in_shell) | 295 if (in_shell) |
288 { | 296 { |
289 printf(fmt, arg); | 297 printf(fmt, arg); |
290 putchar('\n'); | 298 putchar('\n'); |
297 /* | 305 /* |
298 * lock_sc: | 306 * lock_sc: |
299 * lock the score file. If it takes too long, ask the user if | 307 * lock the score file. If it takes too long, ask the user if |
300 * they care to wait. Return TRUE if the lock is successful. | 308 * they care to wait. Return TRUE if the lock is successful. |
301 */ | 309 */ |
302 lock_sc() | 310 bool |
311 lock_sc(void) | |
303 { | 312 { |
304 #ifdef SCOREFILE | 313 #ifdef SCOREFILE |
305 #ifdef LOCKFILE | 314 #ifdef LOCKFILE |
306 register int cnt; | 315 register int cnt; |
307 static struct stat sbuf; | 316 static struct stat sbuf; |
359 | 368 |
360 /* | 369 /* |
361 * unlock_sc: | 370 * unlock_sc: |
362 * Unlock the score file | 371 * Unlock the score file |
363 */ | 372 */ |
364 unlock_sc() | 373 void |
374 unlock_sc(void) | |
365 { | 375 { |
366 #ifdef SCOREFILE | 376 #ifdef SCOREFILE |
367 #ifdef LOCKFILE | 377 #ifdef LOCKFILE |
368 md_unlink(lockfile); | 378 md_unlink(lockfile); |
369 #endif | 379 #endif |
372 | 382 |
373 /* | 383 /* |
374 * flush_type: | 384 * flush_type: |
375 * Flush typeahead for traps, etc. | 385 * Flush typeahead for traps, etc. |
376 */ | 386 */ |
377 flush_type() | 387 void |
388 flush_type(void) | |
378 { | 389 { |
379 flushinp(); | 390 flushinp(); |
380 } | 391 } |