My little adventure of analyzing lib usage has already rooted out

a big "P" Policy violator -- logname was using getlogin(3), which uses
utmp under the hood.  We don't need no stinkin' utmp (and if we
are using tinylogin, it is unlikely to be useful trying).
 -Erik
This commit is contained in:
Erik Andersen 2000-05-01 19:49:20 +00:00
parent f378fced43
commit 9b7d964581
3 changed files with 12 additions and 10 deletions

2
TODO
View File

@ -44,6 +44,8 @@ It would be a very nice thing to reduce this list to an absolute minimum, and
then create a microLibc to provide these functions. There is no good reason
for GNU libc to be so big. I'm sure it can be a lot better.
(BTW, this is more informative if BB_FEATURE_NFSMOUNT is turned off...)
-----------------------

View File

@ -29,16 +29,16 @@ static const char logname_usage[] = "logname\n\n"
extern int logname_main(int argc, char **argv)
{
char *cp;
char *user = xmalloc(9);
if (argc > 1)
usage(logname_usage);
cp = getlogin();
if (cp) {
puts(cp);
my_getpwuid(user, geteuid());
if (user) {
puts(user);
exit(TRUE);
}
fprintf(stderr, "%s: no login name\n", argv[0]);
fprintf(stderr, "no login name\n");
exit(FALSE);
}

View File

@ -29,16 +29,16 @@ static const char logname_usage[] = "logname\n\n"
extern int logname_main(int argc, char **argv)
{
char *cp;
char *user = xmalloc(9);
if (argc > 1)
usage(logname_usage);
cp = getlogin();
if (cp) {
puts(cp);
my_getpwuid(user, geteuid());
if (user) {
puts(user);
exit(TRUE);
}
fprintf(stderr, "%s: no login name\n", argv[0]);
fprintf(stderr, "no login name\n");
exit(FALSE);
}