summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games/fortune/fortune/fortune.c62
1 files changed, 7 insertions, 55 deletions
diff --git a/games/fortune/fortune/fortune.c b/games/fortune/fortune/fortune.c
index cf87127b41e..c928fd3f019 100644
--- a/games/fortune/fortune/fortune.c
+++ b/games/fortune/fortune/fortune.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: fortune.c,v 1.42 2015/02/06 10:50:48 tedu Exp $ */
+/* $OpenBSD: fortune.c,v 1.43 2015/08/26 14:49:20 semarie Exp $ */
/* $NetBSD: fortune.c,v 1.8 1995/03/23 08:28:40 cgd Exp $ */
/*-
@@ -149,18 +149,14 @@ regex_t regex;
int
main(int ac, char *av[])
{
-#ifdef OK_TO_WRITE_DISK
- int fd;
-#endif /* OK_TO_WRITE_DISK */
-
getargs(ac, av);
if (Match)
exit(find_matches() != 0);
init_prob();
- if (Short_only && minlen_in_list(File_list) > SLEN ||
- Long_only && maxlen_in_list(File_list) <= SLEN)
+ if ((Short_only && minlen_in_list(File_list) > SLEN) ||
+ (Long_only && maxlen_in_list(File_list) <= SLEN))
exit(0);
do {
@@ -170,24 +166,6 @@ main(int ac, char *av[])
display(Fortfile);
-#ifdef OK_TO_WRITE_DISK
- if ((fd = creat(Fortfile->posfile, 0666)) < 0) {
- perror(Fortfile->posfile);
- exit(1);
- }
- /*
- * if we can, we exclusive lock, but since it isn't very
- * important, we just punt if we don't have easy locking
- * available.
- */
- (void) flock(fd, LOCK_EX);
- Fortfile->pos = htonl(Fortfile->pos);
- write(fd, (char *) &Fortfile->pos, sizeof Fortfile->pos);
- Fortfile->pos = ntohl(Fortfile->pos);
- if (!Fortfile->was_pos_file)
- (void) chmod(Fortfile->path, 0666);
- (void) flock(fd, LOCK_UN);
-#endif /* OK_TO_WRITE_DISK */
if (Wait) {
if (Fort_len == 0)
(void) fortlen();
@@ -212,7 +190,6 @@ rot13(char *p, size_t len)
void
display(FILEDESC *fp)
{
- char *p, ch;
char line[BUFSIZ];
open_fp(fp);
@@ -337,13 +314,14 @@ form_file_list(char **files, int file_cnt)
int i, percent;
char *sp;
- if (file_cnt == 0)
+ if (file_cnt == 0) {
if (Find_files)
return add_file(NO_PROB, FORTDIR, NULL, &File_list,
&File_tail, NULL);
else
return add_file(NO_PROB, "fortunes", FORTDIR,
&File_list, &File_tail, NULL);
+ }
for (i = 0; i < file_cnt; i++) {
percent = NO_PROB;
if (!isdigit(files[i][0]))
@@ -504,9 +482,6 @@ over:
fp->next = *head;
*head = fp;
}
-#ifdef OK_TO_WRITE_DISK
- fp->was_pos_file = (access(fp->posfile, W_OK) >= 0);
-#endif /* OK_TO_WRITE_DISK */
return 1;
}
@@ -603,9 +578,6 @@ all_forts(FILEDESC *fp, char *offensive)
obscene->datfile = datfile;
obscene->posfile = posfile;
obscene->read_tbl = 0;
-#ifdef OK_TO_WRITE_DISK
- obscene->was_pos_file = (access(obscene->posfile, W_OK) >= 0);
-#endif /* OK_TO_WRITE_DISK */
}
/*
@@ -722,10 +694,6 @@ is_fortfile(char *file, char **datp, char **posp, int check_for_offend)
*datp = datfile;
else
free(datfile);
-#ifdef OK_TO_WRITE_DISK
- if (posp != NULL)
- *posp = copy(file, ".pos");
-#endif /* OK_TO_WRITE_DISK */
DPRINTF(2, (stderr, "1\n"));
return 1;
}
@@ -816,7 +784,7 @@ init_prob(void)
exit(1);
}
percent = 100 - percent;
- if (Equal_probs)
+ if (Equal_probs) {
if (num_noprob != 0) {
if (num_noprob > 1) {
frac = percent / num_noprob;
@@ -830,7 +798,7 @@ init_prob(void)
last->percent = percent;
DPRINTF(1, (stderr, ", residual = %d%%", percent));
}
- else {
+ } else {
DPRINTF(1, (stderr,
", %d%% distributed over remaining fortunes\n",
percent));
@@ -1003,25 +971,9 @@ open_dat(FILEDESC *fp)
void
get_pos(FILEDESC *fp)
{
-#ifdef OK_TO_WRITE_DISK
- int fd;
-#endif /* OK_TO_WRITE_DISK */
-
assert(fp->read_tbl);
if (fp->pos == POS_UNKNOWN) {
-#ifdef OK_TO_WRITE_DISK
- if ((fd = open(fp->posfile, 0)) < 0 ||
- read(fd, &fp->pos, sizeof fp->pos) != sizeof fp->pos)
- fp->pos = arc4random_uniform(fp->tbl.str_numstr);
- else if (ntohl(fp->pos) >= fp->tbl.str_numstr)
- fp->pos %= fp->tbl.str_numstr;
- else
- fp->pos = ntohl(fp->pos);
- if (fd >= 0)
- (void) close(fd);
-#else
fp->pos = arc4random_uniform(fp->tbl.str_numstr);
-#endif /* OK_TO_WRITE_DISK */
}
if (++(fp->pos) >= fp->tbl.str_numstr)
fp->pos -= fp->tbl.str_numstr;