diff options
-rw-r--r-- | src/web/ejabberd_web_admin.erl | 8 |
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")]; |