feed_items_get: simplify and exit earlier - sfeed_curses - sfeed curses UI (now… | |
git clone git://git.codemadness.org/sfeed_curses | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 74959a9fbbc0599ca3c1b43d435fd57f6af2b1ef | |
parent 768a524cd3bbfe7c225b08e539a6ba35f9464ecb | |
Author: Hiltjo Posthuma <[email protected]> | |
Date: Wed, 14 Jul 2021 17:56:30 +0200 | |
feed_items_get: simplify and exit earlier | |
This exits before free() or other calls which might reset errno also. | |
Diffstat: | |
M sfeed_curses.c | 17 ++++------------- | |
1 file changed, 4 insertions(+), 13 deletions(-) | |
--- | |
diff --git a/sfeed_curses.c b/sfeed_curses.c | |
@@ -1256,7 +1256,7 @@ feed_items_free(struct items *items) | |
items->cap = 0; | |
} | |
-int | |
+void | |
feed_items_get(struct feed *f, FILE *fp, struct items *itemsret) | |
{ | |
struct item *item, *items = NULL; | |
@@ -1264,7 +1264,6 @@ feed_items_get(struct feed *f, FILE *fp, struct items *it… | |
size_t cap, i, linesize = 0, nitems; | |
ssize_t linelen, n; | |
off_t offset; | |
- int ret = -1; | |
cap = nitems = 0; | |
offset = 0; | |
@@ -1295,22 +1294,16 @@ feed_items_get(struct feed *f, FILE *fp, struct items *… | |
nitems++; | |
} | |
if (ferror(fp)) | |
- goto err; | |
+ die("getline: %s", f->name); | |
if (n <= 0 || feof(fp)) | |
break; | |
} | |
- ret = 0; | |
- | |
-err: | |
itemsret->cap = cap; | |
itemsret->items = items; | |
itemsret->len = nitems; | |
free(line); | |
- if (ret) | |
- feed_items_free(itemsret); | |
- | |
- return ret; | |
+ return; | |
} | |
void | |
@@ -1345,9 +1338,7 @@ feed_load(struct feed *f, FILE *fp) | |
size_t i; | |
feed_items_free(&items); | |
- if (feed_items_get(f, fp, &items) == -1) | |
- die("%s: %s", __func__, f->name); | |
- | |
+ feed_items_get(f, fp, &items); | |
p = &panes[PaneItems]; | |
p->pos = 0; | |
p->nrows = items.len; |