Introduction
Introduction Statistics Contact Development Disclaimer Help
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;
You are viewing proxied material from codemadness.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.