/* some systems report the FQDN instead of just the hostname */
uname(&utsname);
- p = strchrnul(utsname.nodename, '.');
+ p = m_strchrnul(utsname.nodename, '.');
return p_dupstr(utsname.nodename, p - utsname.nodename);
}
+static char *madmutt_init_os(void)
+{
+ struct utsname un;
+ return m_strdup(uname(&un) < 0 ? "Unix" : un.sysname);
+}
+
static char *madmutt_init_hostname(void)
{
char buffer[STRING];
return m_strdup("@");
if (*buffer != '@') {
- int len = m_strlen(buffer) + m_strlen(MCore.shorthost) + 2;
+ int len = m_strlen(buffer) + m_strlen(mod_core.shorthost) + 2;
char *res = p_new(char, len);
- snprintf(res, len, "%s.%s", NONULL(MCore.shorthost), buffer);
+ snprintf(res, len, "%s.%s", NONULL(mod_core.shorthost), buffer);
return res;
}
- return m_strdup(NONULL(MCore.shorthost));
+ return m_strdup(NONULL(mod_core.shorthost));
}
#if defined(HAVE_QDBM)
# define HCACHE_BACKEND NULL
#endif
-@package MCore {
+@package mod_core {
/*
** .pp
** \fIThis is a read-only system property and specifies madmutt's
*/
path_t shell = madmutt_init_shell();
+ /*
+ ** .pp
+ ** This specifies the operating system name for the \fTUser-Agent:\fP header field. If
+ ** this is \fIunset\fP, it will be set to the operating system name that \fTuname(2)\fP
+ ** returns. If \fTuname(2)\fP fails, ``UNIX'' will be used.
+ ** .pp
+ ** It may, for example, look as: ``\fTMadmutt 1.5.9i (Linux)\fP''.
+ */
+ string_t operating_system = madmutt_init_os();
+
path_t username = madmutt_init_username();
path_t homedir = madmutt_init_homedir();