# HG changeset patch # User John W. Eaton # Date 1324418922 18000 # Node ID 9aff66860e0313f3a4f3de2ce44c69196064199e # Parent f90c3facfac318f44c48e02fc9c7d7590682f1b6 accept abbreviated cellfun option names * src/DLD-FUNCTIONS/cellfun.cc (get_mapper_fun_options): Accept abbreviated option names. diff --git a/src/DLD-FUNCTIONS/cellfun.cc b/src/DLD-FUNCTIONS/cellfun.cc --- a/src/DLD-FUNCTIONS/cellfun.cc +++ b/src/DLD-FUNCTIONS/cellfun.cc @@ -32,6 +32,7 @@ #include #include +#include "caseless-str.h" #include "lo-mappers.h" #include "oct-locbuf.h" @@ -199,18 +200,17 @@ static void get_mapper_fun_options (const octave_value_list& args, int& nargin, - bool& uniform_output, octave_value& error_handler) + bool& uniform_output, octave_value& error_handler) { while (nargin > 3 && args(nargin-2).is_string ()) { - std::string arg = args(nargin-2).string_value (); + caseless_str arg = args(nargin-2).string_value (); + + size_t compare_len = std::max (arg.length (), static_cast (2)); - std::transform (arg.begin (), arg.end (), - arg.begin (), tolower); - - if (arg == "uniformoutput") + if (arg.compare ("uniformoutput", compare_len)) uniform_output = args(nargin-1).bool_value(); - else if (arg == "errorhandler") + else if (arg.compare ("errorhandler", compare_len)) { if (args(nargin-1).is_function_handle () || args(nargin-1).is_inline_function ())