summaryrefslogtreecommitdiff
path: root/src/pacman/ini.c
diff options
context:
space:
mode:
authorAndrew Gregory <andrew.gregory.8@gmail.com>2014-08-06 16:36:00 -0400
committerAllan McRae <allan@archlinux.org>2014-09-23 21:43:16 +1000
commitc792262b137a5f2daddac22f82e7d8d98d0d7d31 (patch)
treed3177e6c722a96da72503a912d4c5fded0ef78e8 /src/pacman/ini.c
parent9c066dff439ba453f4c362e1875b794cf3f362ed (diff)
downloadpacman-c792262b137a5f2daddac22f82e7d8d98d0d7d31.tar.xz
wrap fgets to retry on EINTR
The read() underlying fgets() can be interrupted by a signal handler causing fgets() to return NULL. Before we started handling SIGWINCH, the odds of interrupting a read were low and typically resulted in termination anyway. Replace all fgets calls with a wrapper that retries in EINTR. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Diffstat (limited to 'src/pacman/ini.c')
-rw-r--r--src/pacman/ini.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/pacman/ini.c b/src/pacman/ini.c
index 2a3ef0ed..2eb32302 100644
--- a/src/pacman/ini.c
+++ b/src/pacman/ini.c
@@ -66,7 +66,7 @@ static int _parse_ini(const char *file, ini_parser_fn cb, void *data,
goto cleanup;
}
- while(fgets(line, PATH_MAX, fp)) {
+ while(safe_fgets(line, PATH_MAX, fp)) {
char *key, *value, *ptr;
size_t line_len;