File 0217-inets-Fix-httpd-reload_config-2.patch of Package erlang

From 6f5541f5a734c086e48a70b3f9c2261293893b6a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A9ter=20Dimitrov?= <peterdmv@erlang.org>
Date: Wed, 18 Apr 2018 16:22:22 +0200
Subject: [PATCH] inets: Fix httpd:reload_config/2

- Add proper handling of path() as the first argument to
  httpd:reload_config/2.

Change-Id: Ia5779bdd55bff974e8eb0dd16ef26edf1f52fcff
---
 lib/inets/src/http_server/httpd.erl | 29 +++++++++++++++-----
 lib/inets/test/httpd_SUITE.erl      | 53 +++++++++++++++++++++++++++++++++++--
 2 files changed, 74 insertions(+), 8 deletions(-)

diff --git a/lib/inets/src/http_server/httpd.erl b/lib/inets/src/http_server/httpd.erl
index 540e68e749..1eaa1c930a 100644
--- a/lib/inets/src/http_server/httpd.erl
+++ b/lib/inets/src/http_server/httpd.erl
@@ -36,7 +36,13 @@
 	]).
 
 %% API
--export([parse_query/1, reload_config/2, info/1, info/2, info/3]).
+-export([
+         parse_query/1,
+         reload_config/2,
+         info/1,
+         info/2,
+         info/3
+        ]).
 
 %%%========================================================================
 %%% API
@@ -49,13 +55,24 @@ parse_query(String) ->
 reload_config(Config = [Value| _], Mode) when is_tuple(Value) ->
     do_reload_config(Config, Mode);
 reload_config(ConfigFile, Mode) ->
-    case httpd_conf:load(ConfigFile) of
-	{ok, ConfigList} ->
-	    do_reload_config(ConfigList, Mode);
-	Error ->
-	    Error
+    try file:consult(ConfigFile) of
+        {ok, [PropList]} ->
+            %% Erlang terms format
+            do_reload_config(PropList, Mode);
+        {error, _ } ->
+            %% Apache format
+            case httpd_conf:load(ConfigFile) of
+                {ok, ConfigList} ->
+                    do_reload_config(ConfigList, Mode);
+                Error ->
+                    Error
+            end
+    catch
+        exit:_ ->
+            throw({error, {could_not_consult_proplist_file, ConfigFile}})
     end.
 
+
 info(Pid) when is_pid(Pid) ->
     info(Pid, []).
 
-- 
2.16.3

openSUSE Build Service is sponsored by