2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License as published by
4 * the Free Software Foundation; either version 2 of the License, or (at
5 * your option) any later version.
7 * This program is distributed in the hope that it will be useful, but
8 * WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 * General Public License for more details.
12 * You should have received a copy of the GNU General Public License
13 * along with this program; if not, write to the Free Software
14 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17 * Copyright © 2007 Pierre Habouzit
20 #include <lib-lib/lib-lib.h>
21 #include <lib-lua/lib-lua.h>
23 #include <sys/types.h>
28 static const char *madmutt_init_shell(void)
30 struct passwd *pw = getpwuid(getuid());
31 return pw ? pw->pw_shell : (getenv("SHELL") ?: "/bin/sh");
34 static const char *madmutt_pwd(void)
36 char path[_POSIX_PATH_MAX];
37 getcwd(path, sizeof(path));
41 static const char *luaM_path_post(const char *val)
44 _mutt_expand_path(path, sizeof(path), val, 0);
50 .ctype = unsigned : 1;
55 .ctype = const char *;
59 .push = luaM_path_post($$);
66 .check = luaM_checkquadopt($L, $$);
67 .ctype = unsigned : 2;
70 #if defined(HAVE_QDBM)
71 # define HCACHE_BACKEND "qdbm"
72 #elif defined(HAVE_GDBM)
73 # define HCACHE_BACKEND "gdbm"
74 #elif defined(HAVE_DB4)
75 # define HCACHE_BACKEND "db4"
77 # define HCACHE_BACKEND "unknown"
81 const string_t version = VERSION;
82 const string_t sysconfdir = SYSCONFDIR;
83 const string_t bindir = BINDIR;
84 const string_t docdir = PKGDOCDIR;
85 const string_t hcache_backend = HCACHE_BACKEND;
87 path_t dotlock = BINDIR "/mutt_dotlock";
88 path_t editor = getenv("VISUAL") ?: getenv("EDITOR") ?: "vi";
89 path_t sendmail = SENDMAIL " -eom -oi";
90 path_t shell = madmutt_init_shell();
92 quadopt_t quit = M_YES;
96 const string_t pwd(void) = madmutt_pwd();