aboutsummaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
Diffstat (limited to 'misc')
-rw-r--r--misc/getttyent.c2
-rw-r--r--misc/getusershell.c4
-rw-r--r--misc/mntent_r.c8
3 files changed, 9 insertions, 5 deletions
diff --git a/misc/getttyent.c b/misc/getttyent.c
index f474cdc..07018f7 100644
--- a/misc/getttyent.c
+++ b/misc/getttyent.c
@@ -73,7 +73,7 @@ getttyent()
return (NULL);
flockfile (tf);
for (;;) {
- if (!fgets(p = line, sizeof(line), tf))
+ if (!fgets_unlocked(p = line, sizeof(line), tf))
return (NULL);
/* skip lines that are too big */
if (!index(p, '\n')) {
diff --git a/misc/getusershell.c b/misc/getusershell.c
index 6b210b6..d822f55 100644
--- a/misc/getusershell.c
+++ b/misc/getusershell.c
@@ -96,6 +96,7 @@ initshells()
register char **sp, *cp;
register FILE *fp;
struct stat statb;
+ int flen;
if (shells != NULL)
free(shells);
@@ -122,7 +123,8 @@ initshells()
}
sp = shells;
cp = strings;
- while (fgets(cp, statb.st_size - (cp - strings), fp) != NULL) {
+ flen = statb.st_size;
+ while (fgets_unlocked(cp, flen - (cp - strings), fp) != NULL) {
while (*cp != '#' && *cp != '/' && *cp != '\0')
cp++;
if (*cp == '#' || *cp == '\0')
diff --git a/misc/mntent_r.c b/misc/mntent_r.c
index 4dc0358..9567a6f 100644
--- a/misc/mntent_r.c
+++ b/misc/mntent_r.c
@@ -1,5 +1,5 @@
/* Utilities for reading/writing fstab, mtab, etc.
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -51,11 +51,12 @@ __getmntent_r (FILE *stream, struct mntent *mp, char *buffer, int bufsiz)
{
char *head;
+ flockfile (stream);
do
{
char *end_ptr;
- if (fgets (buffer, bufsiz, stream) == NULL)
+ if (fgets_unlocked (buffer, bufsiz, stream) == NULL)
return NULL;
end_ptr = strchr (buffer, '\n');
@@ -65,7 +66,7 @@ __getmntent_r (FILE *stream, struct mntent *mp, char *buffer, int bufsiz)
{
/* Not the whole line was read. Do it now but forget it. */
char tmp[1024];
- while (fgets (tmp, sizeof tmp, stream) != NULL)
+ while (fgets_unlocked (tmp, sizeof tmp, stream) != NULL)
if (strchr (tmp, '\n') != NULL)
break;
}
@@ -92,6 +93,7 @@ __getmntent_r (FILE *stream, struct mntent *mp, char *buffer, int bufsiz)
mp->mnt_passno = 0;
case 2:
}
+ funlockfile (stream);
return mp;
}