#include <ctype.h>
#include <curses.h>
#include <err.h>
+#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
readquote(void)
{
FILE *f = popen(_PATH_FORTUNE, "r");
- if (!f) {
+ if (f == NULL) {
err(1, "%s", _PATH_FORTUNE);
}
char buf[128], buf2[8 * sizeof(buf)];
- while (fgets(buf, sizeof(buf), f)) {
+ while (fgets(buf, sizeof buf, f) != NULL) {
char *s = strrchr(buf, '\n');
- assert(s);
+ assert(s != NULL);
assert(strlen(s) == 1);
- *s = 0;
+ *s = '\0';
int i, j;
- for (i = j = 0; buf[i]; i++) {
+ for (i = j = 0; buf[i] != '\0'; i++) {
if (buf[i] == '\t') {
buf2[j++] = ' ';
- while (j % 8)
+ while (j % 8 != 0)
buf2[j++] = ' ';
} else if (buf[i] == '\b') {
if (j > 0)
buf2[j++] = buf[i];
}
}
- buf2[j] = 0;
+ buf2[j] = '\0';
stringarray_add(&lines, buf2);
stringarray_add(&sollines, buf2);
}
for (int y = 0; y < lines.num; y++) {
- for (unsigned x = 0; lines.v[y][x]; x++) {
+ for (unsigned x = 0; lines.v[y][x] != '\0'; x++) {
if (islower((unsigned char)lines.v[y][x])) {
int q = lines.v[y][x] - 'a';
lines.v[y][x] = 'a' + key[q];
}
}
-static int
+static bool
substitute(int ch)
{
assert(cury >= 0 && cury < lines.num);
if (curx >= strlen(lines.v[cury])) {
beep();
- return -1;
+ return false;
}
int och = lines.v[cury][curx];
if (!isalpha((unsigned char)och)) {
beep();
- return -1;
+ return false;
}
int loch = tolower((unsigned char)och);
int uch = toupper((unsigned char)ch);
for (int y = 0; y < lines.num; y++) {
- for (unsigned x = 0; lines.v[y][x]; x++) {
+ for (unsigned x = 0; lines.v[y][x] != '\0'; x++) {
if (lines.v[y][x] == loch) {
lines.v[y][x] = lch;
} else if (lines.v[y][x] == uoch) {
}
}
}
- return 0;
+ return true;
}
////////////////////////////////////////////////////////////
move(i, 0);
int ln = i + scrolldown;
if (ln < lines.num) {
- for (unsigned j = 0; lines.v[i][j]; j++) {
+ for (unsigned j = 0; lines.v[i][j] != '\0'; j++) {
int ch = lines.v[i][j];
if (ch != sollines.v[i][j] &&
isalpha((unsigned char)ch)) {
break;
default:
if (isalpha(ch)) {
- if (!substitute(ch)) {
+ if (substitute(ch)) {
if (curx < strlen(lines.v[cury])) {
curx++;
}
encode();
opencurses();
- keypad(stdscr, TRUE);
+ keypad(stdscr, true);
loop();
closecurses();