Github user jiangphcn commented on a diff in the pull request:

    https://github.com/apache/couchdb-config/pull/21#discussion_r232872036
  
    --- Diff: src/config.erl ---
    @@ -253,34 +253,45 @@ handle_call({set, Sec, Key, Val, Persist, Reason}, 
_From, Config) ->
                 true = ets:insert(?MODULE, {{Sec, Key}, Val}),
                 couch_log:notice("~p: [~s] ~s set to ~s for reason ~p",
                                  [?MODULE, Sec, Key, Val, Reason]),
    -            case {Persist, Config#config.write_filename} of
    +            ConfigWriteReturn = case {Persist, 
Config#config.write_filename} of
                     {true, undefined} ->
                         ok;
                     {true, FileName} ->
                         config_writer:save_to_file({{Sec, Key}, Val}, 
FileName);
                     _ ->
                         ok
                 end,
    -            Event = {config_change, Sec, Key, Val, Persist},
    -            gen_event:sync_notify(config_event, Event),
    -            {reply, ok, Config}
    +            case ConfigWriteReturn of
    +                ok ->
    +                    Event = {config_change, Sec, Key, Val, Persist},
    +                    gen_event:sync_notify(config_event, Event),
    +                    {reply, ok, Config};
    +                {error, _Else} ->
    +                    {reply, {error, _Else}, Config}
    +            end
         end;
     
     handle_call({delete, Sec, Key, Persist, Reason}, _From, Config) ->
         true = ets:delete(?MODULE, {Sec,Key}),
         couch_log:notice("~p: [~s] ~s deleted for reason ~p",
             [?MODULE, Sec, Key, Reason]),
    -    case {Persist, Config#config.write_filename} of
    +    ConfigDeleteReturn = case {Persist, Config#config.write_filename} of
             {true, undefined} ->
                 ok;
             {true, FileName} ->
                 config_writer:save_to_file({{Sec, Key}, ""}, FileName);
             _ ->
                 ok
         end,
    -    Event = {config_change, Sec, Key, deleted, Persist},
    -    gen_event:sync_notify(config_event, Event),
    -    {reply, ok, Config};
    +    case ConfigDeleteReturn of
    +        ok ->
    +            Event = {config_change, Sec, Key, deleted, Persist},
    +            gen_event:sync_notify(config_event, Event),
    +            {reply, ok, Config};
    +        _Else ->
    --- End diff --
    
    No need to use _ before Else if _Else is used in clause


---

Reply via email to