Ticket #1475: fortune.diff

File fortune.diff, 954 bytes (added by bbjimmy, 17 years ago)

read the faq... upload a diff file

  • src/bin/fortune.c

     
    1313
    1414#include <OS.h>
    1515
    16 #define FORTUNES "/etc/fortunes"
     16#define FORTUNES "/etc/fortunes/default"
    1717
    1818int
    1919main(void)
     
    4949
    5050    found = 0;
    5151    for (i = 0; i < stat.st_size; i++) {
    52         if (!strncmp(buf + i, "#@#", 3))
     52        if (!strncmp(buf + i, "%\n", 2))
    5353            found += 1;
    5454    }
    5555
    5656    if (found > 0)
    57         found = 1 + ((system_time() + 3) % found);
     57        found = 1 + ((system_time() + 1) % found);
    5858    else {
    5959        printf("Out of cookies...\n");
    6060        return -1;
    6161    }
    6262
    6363    for (i = 0; i < stat.st_size; i++) {
    64         if (!strncmp(buf + i, "#@#", 3))
     64        if (!strncmp(buf + i, "%\n", 2))
    6565            found -= 1;
    6666
    6767        if (found == 0) {
    6868            unsigned j;
    6969
    7070            for (j = i + 1; j < stat.st_size; j++) {
    71                 if (!strncmp(buf + j, "#@#", 3))
     71                if (!strncmp(buf + j, "\n%\n", 3))
    7272                    buf[j] = 0;
    7373            }
    7474
    75             printf("%s\n", buf + i + 3);
     75            printf("%s\n", buf + i + 1);
    7676            break;
    7777        }
    7878    }