projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve test coverage.
[open-adventure.git]
/
saveresume.c
diff --git
a/saveresume.c
b/saveresume.c
index f13e3f366d40c04f4ee909799d9470683355dc82..c275986f4e85bf0d2358d17581391c449fcd110b 100644
(file)
--- a/
saveresume.c
+++ b/
saveresume.c
@@
-1,9
+1,9
@@
#include <stdlib.h>
#include <string.h>
#include <stdlib.h>
#include <string.h>
+#include <editline/readline.h>
#include "advent.h"
#include "dungeon.h"
#include "advent.h"
#include "dungeon.h"
-#include "linenoise/linenoise.h"
/*
* (ESR) This replaces a bunch of particularly nasty FORTRAN-derived code;
/*
* (ESR) This replaces a bunch of particularly nasty FORTRAN-derived code;
@@
-26,20
+26,22
@@
struct save_t {
};
struct save_t save;
};
struct save_t save;
+#define IGNORE(r) do{if (r){}}while(0)
+
int savefile(FILE *fp, long version)
int savefile(FILE *fp, long version)
-
/* Save game to file. No input or output from user. */
+/* Save game to file. No input or output from user. */
{
long i, k;
datime(&i, &k);
k = i + 650 * k;
save.savetime = k;
save.mode = -1;
{
long i, k;
datime(&i, &k);
k = i + 650 * k;
save.savetime = k;
save.mode = -1;
-
+
save.version = (version == 0) ? VRSION : version;
save.version = (version == 0) ? VRSION : version;
-
+
memcpy(&save.game, &game, sizeof(struct game_t));
IGNORE(fwrite(&save, sizeof(struct save_t), 1, fp));
memcpy(&save.game, &game, sizeof(struct game_t));
IGNORE(fwrite(&save, sizeof(struct save_t), 1, fp));
- return(0);
+ return
(0);
}
/* Suspend and resume */
}
/* Suspend and resume */
@@
-56,23
+58,24
@@
int suspend(void)
FILE *fp = NULL;
rspeak(SUSPEND_WARNING);
FILE *fp = NULL;
rspeak(SUSPEND_WARNING);
- if (!yes(arbitrary_messages[THIS_ACCEPTABLE], arbitrary_messages[OK_MAN], arbitrary_messages[OK_MAN])) return GO_CLEAROBJ;
+ if (!yes(arbitrary_messages[THIS_ACCEPTABLE], arbitrary_messages[OK_MAN], arbitrary_messages[OK_MAN]))
+ return GO_CLEAROBJ;
game.saved = game.saved + 5;
while (fp == NULL) {
game.saved = game.saved + 5;
while (fp == NULL) {
- char* name =
linenois
e("\nFile name: ");
+ char* name =
readlin
e("\nFile name: ");
if (name == NULL)
return GO_TOP;
fp = fopen(name, WRITE_MODE);
if (fp == NULL)
printf("Can't open file %s, try again.\n", name);
if (name == NULL)
return GO_TOP;
fp = fopen(name, WRITE_MODE);
if (fp == NULL)
printf("Can't open file %s, try again.\n", name);
-
linenoiseF
ree(name);
+
f
ree(name);
}
savefile(fp, VRSION);
fclose(fp);
rspeak(RESUME_HELP);
}
savefile(fp, VRSION);
fclose(fp);
rspeak(RESUME_HELP);
- exit(
0
);
+ exit(
EXIT_SUCCESS
);
}
int resume(void)
}
int resume(void)
@@
-87,17
+90,18
@@
int resume(void)
if (game.loc != 1 || game.abbrev[1] != 1) {
rspeak(RESUME_ABANDON);
if (game.loc != 1 || game.abbrev[1] != 1) {
rspeak(RESUME_ABANDON);
- if (!yes(arbitrary_messages[THIS_ACCEPTABLE], arbitrary_messages[OK_MAN], arbitrary_messages[OK_MAN])) return GO_CLEAROBJ;
+ if (!yes(arbitrary_messages[THIS_ACCEPTABLE], arbitrary_messages[OK_MAN], arbitrary_messages[OK_MAN]))
+ return GO_CLEAROBJ;
}
while (fp == NULL) {
}
while (fp == NULL) {
- char* name =
linenois
e("\nFile name: ");
+ char* name =
readlin
e("\nFile name: ");
if (name == NULL)
return GO_TOP;
fp = fopen(name, READ_MODE);
if (fp == NULL)
printf("Can't open file %s, try again.\n", name);
if (name == NULL)
return GO_TOP;
fp = fopen(name, READ_MODE);
if (fp == NULL)
printf("Can't open file %s, try again.\n", name);
-
linenoiseF
ree(name);
+
f
ree(name);
}
return restore(fp);
}
return restore(fp);
@@
-119,7
+123,7
@@
int restore(FILE* fp)
} else {
memcpy(&game, &save.game, sizeof(struct game_t));
//game.zzword = rndvoc(3, game.zzword);
} else {
memcpy(&game, &save.game, sizeof(struct game_t));
//game.zzword = rndvoc(3, game.zzword);
- make_zzword(game.zzword);
+
make_zzword(game.zzword);
}
return GO_TOP;
}
}
return GO_TOP;
}