aboutsummaryrefslogtreecommitdiff
path: root/misc/getttyent.c
diff options
context:
space:
mode:
Diffstat (limited to 'misc/getttyent.c')
-rw-r--r--misc/getttyent.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/misc/getttyent.c b/misc/getttyent.c
index 6743ac5d7d..f474cdcacf 100644
--- a/misc/getttyent.c
+++ b/misc/getttyent.c
@@ -71,12 +71,13 @@ getttyent()
if (!tf && !setttyent())
return (NULL);
+ flockfile (tf);
for (;;) {
if (!fgets(p = line, sizeof(line), tf))
return (NULL);
/* skip lines that are too big */
if (!index(p, '\n')) {
- while ((c = getc(tf)) != '\n' && c != EOF)
+ while ((c = getc_unlocked(tf)) != '\n' && c != EOF)
;
continue;
}
@@ -85,6 +86,7 @@ getttyent()
if (*p && *p != '#')
break;
}
+ funlockfile(tf);
zapchar = 0;
tty.ty_name = p;