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
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...)
+
-----------------------
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);
}
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);
}