diff options
author | Christophe Romain <christophe.romain@process-one.net> | 2019-01-31 13:25:56 +0100 |
---|---|---|
committer | Christophe Romain <christophe.romain@process-one.net> | 2019-01-31 13:25:56 +0100 |
commit | ae7b391657512560e62e8182dee4cf76b0f04e98 (patch) | |
tree | e829b016ddc227948bffbda73c7227d0c5d7e689 | |
parent | Produce better error for http_api request with extra parameters (diff) |
Do not overwrite odbc config file (#2295)
-rw-r--r-- | src/ejabberd_sql.erl | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/ejabberd_sql.erl b/src/ejabberd_sql.erl index 153479026..2d9c64187 100644 --- a/src/ejabberd_sql.erl +++ b/src/ejabberd_sql.erl @@ -1071,9 +1071,9 @@ init_mssql(Host) -> case filelib:ensure_dir(freetds_config()) of ok -> try - ok = file:write_file(freetds_config(), FreeTDS, [append]), - ok = file:write_file(odbcinst_config(), ODBCINST), - ok = file:write_file(odbc_config(), ODBCINI, [append]), + ok = write_file_if_new(freetds_config(), FreeTDS), + ok = write_file_if_new(odbcinst_config(), ODBCINST), + ok = write_file_if_new(odbc_config(), ODBCINI), os:putenv("ODBCSYSINI", tmp_dir()), os:putenv("FREETDS", freetds_config()), os:putenv("FREETDSCONF", freetds_config()), @@ -1089,6 +1089,12 @@ init_mssql(Host) -> Err end. +write_file_if_new(File, Payload) -> + case filelib:is_file(File) of + true -> ok; + false -> file:write_file(File, Payload) + end. + tmp_dir() -> case os:type() of {win32, _} -> filename:join([os:getenv("HOME"), "conf"]); |