#include "../mutt.h"
-static const char *madmutt_init_shell(void)
+static char *madmutt_init_shell(void)
{
struct passwd *pw = getpwuid(getuid());
- return pw ? pw->pw_shell : (getenv("SHELL") ?: "/bin/sh");
+ return m_strdup(pw ? pw->pw_shell : (getenv("SHELL") ?: "/bin/sh"));
}
-static const char *madmutt_init_username(void)
+static char *madmutt_init_username(void)
{
struct passwd *pw = getpwuid(getuid());
- return pw ? pw->pw_name : (getenv("USER") ?: "john_doe");
+ return m_strdup(pw ? pw->pw_name : (getenv("USER") ?: "john_doe"));
}
-static const char *madmutt_init_homedir(void)
+static char *madmutt_init_homedir(void)
{
struct passwd *pw = getpwuid(getuid());
- return pw ? pw->pw_dir : (getenv("HOME") ?: "/");
+ return m_strdup(pw ? pw->pw_dir : (getenv("HOME") ?: "/"));
}
static const char *madmutt_pwd(void)
};
@type string_t = {
- .kind = 's';
- .ctype = const char *;
+ .kind = 's';
+ .ctype = char *;
+ .dtor = p_delete($$);
+ .ctor = m_strdup($$);
};
@type path_t = {
.push = luaM_path_post($$);
.kind = 's';
.ctype = char *;
+ .dtor = p_delete($$);
+ .ctor = m_strdup($$);
};
@type quadopt_t = {
const string_t docdir = PKGDOCDIR;
const string_t hcache_backend = HCACHE_BACKEND;
- path_t dotlock = BINDIR "/mutt_dotlock";
- path_t editor = getenv("VISUAL") ?: getenv("EDITOR") ?: "vi";
+ path_t dotlock = m_strdup(BINDIR "/mutt_dotlock");
+ path_t editor = m_strdup(getenv("VISUAL") ?: getenv("EDITOR") ?: "vi");
path_t shell = madmutt_init_shell();
path_t username = madmutt_init_username();
path_t homedir = madmutt_init_homedir();
- path_t tmpdir = getenv("TMPDIR") ?: "/tmp";
+ path_t tmpdir = m_strdup(getenv("TMPDIR") ?: "/tmp");
quadopt_t quit = M_YES;
bool beep = 1;
} MCore;
@package MTransport {
- path_t sendmail = SENDMAIL " -eom -oi";
+ path_t sendmail = m_strdup(SENDMAIL " -eom -oi");
string_t dsn_notify = NULL;
string_t dsn_return = NULL;