X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fhtml.c;h=f902520d0e1a2580530e7ba633211d9c7db8e2ed;hb=4de79b34b329d1da6cdeb145993d3efd911e2967;hp=fbb6b968d37074256606c23a1077b4fcfa10cb3b;hpb=1a5f49c70a1bdc19d0c12a617d54013aa7118b4a;p=pspp-builds.git diff --git a/src/html.c b/src/html.c index fbb6b968..f902520d 100644 --- a/src/html.c +++ b/src/html.c @@ -35,13 +35,18 @@ #include "alloc.h" #include "error.h" #include "filename.h" +#include "getl.h" #include "getline.h" +#include "getlogin_r.h" #include "output.h" #include "som.h" #include "tab.h" #include "version.h" #include "mkfile.h" +#include "gettext.h" +#define _(msgid) gettext (msgid) + /* Prototypes. */ static int postopen (struct file_ext *); static int preclose (struct file_ext *); @@ -234,9 +239,7 @@ postopen (struct file_ext *f) {"source-file", 0}, {0, 0}, }; -#if HAVE_UNISTD_H - char host[128]; -#endif + char login[128], host[128]; time_t curtime; struct tm *loctime; @@ -277,14 +280,13 @@ postopen (struct file_ext *f) *cp = 0; } - /* PORTME: Determine username, net address. */ -#if HAVE_UNISTD_H - dict[2].value = getenv ("LOGNAME"); - if (!dict[2].value) - dict[2].value = getlogin (); - if (!dict[2].value) - dict[2].value = _("nobody"); + if (getenv ("LOGNAME") != NULL) + str_copy_rpad (login, sizeof login, getenv ("LOGNAME")); + else if (getlogin_r (login, sizeof login)) + strcpy (login, _("nobody")); + dict[2].value = login; +#ifdef HAVE_UNISTD_H if (gethostname (host, 128) == -1) { if (errno == ENAMETOOLONG) @@ -292,11 +294,10 @@ postopen (struct file_ext *f) else strcpy (host, _("nowhere")); } +#else + strcpy (host, _("nowhere")); +#endif dict[3].value = host; -#else /* !HAVE_UNISTD_H */ - dict[2].value = _("nobody"); - dict[3].value = _("nowhere"); -#endif /* !HAVE_UNISTD_H */ dict[4].value = outp_title ? outp_title : ""; dict[5].value = outp_subtitle ? outp_subtitle : "";