From f711f7fe1e88c867ad695610dd300fc966996b14 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov@gmail.com>
Date: Fri, 1 Jun 2012 10:26:25 +0400
Subject: [PATCH 2/3] No such function lists:keyfind/3 in R12B5
Instead of using this function we must use lists:keysearch/3.
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
---
src/getopt.erl | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/getopt.erl b/src/getopt.erl
index fac5fb6..1fcca79 100644
--- a/src/getopt.erl
+++ b/src/getopt.erl
@@ -116,11 +116,11 @@ parse_long_option(OptSpecList, OptAcc, ArgAcc, ArgPos, Args, OptStr, OptArg) ->
parse_long_option_assigned_arg(OptSpecList, OptAcc, ArgAcc, ArgPos, Args, OptStr, Long, Arg);
Long ->
- case lists:keyfind(Long, ?OPT_LONG, OptSpecList) of
- {Name, _Short, Long, undefined, _Help} ->
+ case lists:keysearch(Long, ?OPT_LONG, OptSpecList) of
+ {value, {Name, _Short, Long, undefined, _Help}}->
parse(OptSpecList, [Name | OptAcc], ArgAcc, ArgPos, Args);
- {_Name, _Short, Long, _ArgSpec, _Help} = OptSpec ->
+ {value, {_Name, _Short, Long, _ArgSpec, _Help} = OptSpec} ->
%% The option argument string is empty, but the option requires
%% an argument, so we look into the next string in the list.
%% e.g ["--port", "1000"]
@@ -138,8 +138,8 @@ parse_long_option(OptSpecList, OptAcc, ArgAcc, ArgPos, Args, OptStr, OptArg) ->
[string()], string(), string(), string()) ->
{ok, {[option()], [string()]}}.
parse_long_option_assigned_arg(OptSpecList, OptAcc, ArgAcc, ArgPos, Args, OptStr, Long, Arg) ->
- case lists:keyfind(Long, ?OPT_LONG, OptSpecList) of
- {_Name, _Short, Long, ArgSpec, _Help} = OptSpec ->
+ case lists:keysearch(Long, ?OPT_LONG, OptSpecList) of
+ {value, {_Name, _Short, Long, ArgSpec, _Help} = OptSpec} ->
case ArgSpec of
undefined ->
throw({error, {invalid_option_arg, OptStr}});
@@ -199,11 +199,11 @@ parse_short_option(OptSpecList, OptAcc, ArgAcc, ArgPos, Args, OptStr, OptArg) ->
parse_short_option(OptSpecList, OptAcc, ArgAcc, ArgPos, Args, OptStr, first, OptArg).
parse_short_option(OptSpecList, OptAcc, ArgAcc, ArgPos, Args, OptStr, OptPos, [Short | Arg]) ->
- case lists:keyfind(Short, ?OPT_SHORT, OptSpecList) of
- {Name, Short, _Long, undefined, _Help} ->
+ case lists:keysearch(Short, ?OPT_SHORT, OptSpecList) of
+ {value, {Name, Short, _Long, undefined, _Help}} ->
parse_short_option(OptSpecList, [Name | OptAcc], ArgAcc, ArgPos, Args, OptStr, first, Arg);
- {_Name, Short, _Long, ArgSpec, _Help} = OptSpec ->
+ {value, {_Name, Short, _Long, ArgSpec, _Help} = OptSpec} ->
%% The option has a specification, so it requires an argument.
case Arg of
[] ->
--
1.8.0.1