summaryrefslogtreecommitdiff
path: root/src/web/ejabberd_web_admin.erl
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2009-12-03 15:59:01 +0000
committerBadlop <badlop@process-one.net>2009-12-03 15:59:01 +0000
commit7b244652f198f9b02152e165190fd9ec95d25091 (patch)
tree6f2197ef83dbfffe3bfd61b0b4c06aa7b0f9f4bc /src/web/ejabberd_web_admin.erl
parentUse old regexp instead re in 2.x for pre-R12B-4 compatibility. (diff)
Use os:getenv to get HOME; if variable is undefined use default values.
SVN Revision: 2773
Diffstat (limited to 'src/web/ejabberd_web_admin.erl')
-rw-r--r--src/web/ejabberd_web_admin.erl8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/web/ejabberd_web_admin.erl b/src/web/ejabberd_web_admin.erl
index d6461b2c..d8e5ac84 100644
--- a/src/web/ejabberd_web_admin.erl
+++ b/src/web/ejabberd_web_admin.erl
@@ -1947,7 +1947,13 @@ get_node(global, Node, ["db"], Query, Lang) ->
end;
get_node(global, Node, ["backup"], Query, Lang) ->
- {ok, HomeDir, _} = regexp:sub(filename:nativename(os:cmd("echo $HOME")), "\n", ""),
+ HomeDirRaw = case {os:getenv("HOME"), os:type()} of
+ {EnvHome, _} when is_list(EnvHome) -> EnvHome;
+ {false, win32} -> "C:/";
+ {false, {win32, _Osname}} -> "C:/";
+ {false, _} -> "/tmp/"
+ end,
+ HomeDir = filename:nativename(HomeDirRaw),
ResS = case node_backup_parse_query(Node, Query) of
nothing -> [];
ok -> [?XREST("Submitted")];