Blob Blame History Raw
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