Hi,

The following patch remove #ifdef OK_TO_WRITE_DISK which isn't used by
default.

Additionnally, few disambiguisations suggested by cc(1) are added:
  - parentheses around && within ||
  - explicit braces to avoid ambiguous 'else'

Comments ? OK ?
-- 
Sebastien Marie

Index: fortune.c
===================================================================
RCS file: /cvs/src/games/fortune/fortune/fortune.c,v
retrieving revision 1.42
diff -u -p -r1.42 fortune.c
--- fortune.c   6 Feb 2015 10:50:48 -0000       1.42
+++ fortune.c   26 Aug 2015 07:10:31 -0000
@@ -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_cn
        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, cha
                *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;

Reply via email to