comparison rogue4/save.c @ 84:a0d4caead33b

rogue4: don't delete the savefile if the terminal is too small. Let the user resize the terminal and try again.
author John "Elwin" Edwards
date Thu, 08 Aug 2013 14:30:12 -0700
parents 0e212d46b68f
children d852b8f088c5
comparison
equal deleted inserted replaced
83:09db0cf536af 84:a0d4caead33b
228 } 228 }
229 229
230 fstat(inf, &sbuf2); 230 fstat(inf, &sbuf2);
231 fflush(stdout); 231 fflush(stdout);
232 syml = issymlink(file); 232 syml = issymlink(file);
233 if (
234 #ifdef WIZARD
235 !wizard &&
236 #endif
237 md_unlink(file) < 0)
238 {
239 printf("Cannot unlink file\n");
240 return FALSE;
241 }
242 233
243 fflush(stdout); 234 fflush(stdout);
244 235
245 encread(&slines,sizeof(slines),inf); 236 encread(&slines,sizeof(slines),inf);
246 encread(&scols,sizeof(scols),inf); 237 encread(&scols,sizeof(scols),inf);
270 keypad(stdscr,1); 261 keypad(stdscr,1);
271 262
272 mpos = 0; 263 mpos = 0;
273 mvprintw(0, 0, "%s: %s", file, ctime(&sbuf2.st_mtime)); 264 mvprintw(0, 0, "%s: %s", file, ctime(&sbuf2.st_mtime));
274 265
266 if (rs_restore_file(inf) == FALSE)
267 {
268 endwin();
269 printf("Cannot restore file\n");
270 return(FALSE);
271 }
272
273 if (
274 #ifdef WIZARD
275 !wizard &&
276 #endif
277 md_unlink(file) < 0)
278 {
279 printf("Cannot unlink file\n");
280 return FALSE;
281 }
282
275 /* 283 /*
276 * defeat multiple restarting from the same place 284 * defeat multiple restarting from the same place
277 */ 285 */
278 #ifdef WIZARD 286 #ifdef WIZARD
279 if (!wizard) 287 if (!wizard)
281 if (sbuf2.st_nlink != 1 || syml) 289 if (sbuf2.st_nlink != 1 || syml)
282 { 290 {
283 printf("Cannot restore from a linked file\n"); 291 printf("Cannot restore from a linked file\n");
284 return FALSE; 292 return FALSE;
285 } 293 }
286
287 if (rs_restore_file(inf) == FALSE)
288 {
289 endwin();
290 printf("Cannot restore file\n");
291 return(FALSE);
292 }
293 294
294 #ifdef SIGTSTP 295 #ifdef SIGTSTP
295 signal(SIGTSTP, tstp); 296 signal(SIGTSTP, tstp);
296 #endif 297 #endif
297 environ = envp; 298 environ = envp;