aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 d6461b2c0..d8e5ac848 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")];