1717#include < foundation.h>
1818#include < foundation-auto.h>
1919
20- static bool create_key_for_array (MCStringRef p_string, MCArrayRef p_target, MCNameRef& r_key)
21- {
22- MCAutoStringRef t_key_string;
23-
24- bool t_success;
25- t_success = true ;
26-
27- /*
28- if (MCArrayIsFormSensitive(p_target) && !MCStringIsNative(p_string))
29- {
30- t_success = MCStringCreateWithBytes((const byte_t *)MCStringGetCharPtr(p_string), MCStringGetLength(p_string) * 2, kMCStringEncodingNative, false, &t_key_string);
31- }
32- else
33- */
34- t_key_string = p_string;
35-
36-
37- if (t_success)
38- t_success = MCNameCreate (*t_key_string, r_key);
39-
40- return t_success;
41- }
42-
4320static bool is_not_among_the_elements_of (void *context, MCArrayRef p_target, MCNameRef p_key, MCValueRef p_value)
4421{
4522 MCValueRef t_needle = (MCValueRef)context;
@@ -91,13 +68,13 @@ extern "C" MC_DLLEXPORT_DEF void MCArrayEvalIsAmongTheElementsOf(MCValueRef p_ne
9168extern " C" MC_DLLEXPORT_DEF void MCArrayEvalIsAmongTheKeysOfCaseless (MCStringRef p_needle, bool p_is_not, MCArrayRef p_target, bool & r_output)
9269{
9370 MCNewAutoNameRef t_key;
94- if (!create_key_for_array (p_needle, p_target , &t_key))
71+ if (!MCNameCreate (p_needle, &t_key))
9572 return ;
9673
9774 MCValueRef t_value;
9875 t_value = nil;
9976
100- r_output = MCArrayFetchValue (p_target, MCArrayIsCaseSensitive (p_target) , *t_key, t_value);
77+ r_output = MCArrayFetchValue (p_target, false , *t_key, t_value);
10178
10279 if (p_is_not)
10380 r_output = !r_output;
@@ -106,13 +83,12 @@ extern "C" MC_DLLEXPORT_DEF void MCArrayEvalIsAmongTheKeysOfCaseless(MCStringRef
10683extern " C" MC_DLLEXPORT_DEF void MCArrayFetchElementOfCaseless (MCArrayRef p_target, MCStringRef p_key, MCValueRef& r_output)
10784{
10885 MCNewAutoNameRef t_key;
109-
110- if (!create_key_for_array (p_key, p_target, &t_key))
86+ if (!MCNameCreate (p_key, &t_key))
11187 return ;
11288
11389 MCValueRef t_value;
11490 t_value = nil;
115- if (!MCArrayFetchValue (p_target, MCArrayIsCaseSensitive (p_target) , *t_key, t_value))
91+ if (!MCArrayFetchValue (p_target, false , *t_key, t_value))
11692 {
11793 MCErrorCreateAndThrow (kMCGenericErrorTypeInfo , " reason" , MCSTR (" array key does not exist" ), nil);
11894 return ;
@@ -123,15 +99,15 @@ extern "C" MC_DLLEXPORT_DEF void MCArrayFetchElementOfCaseless(MCArrayRef p_targ
12399
124100extern " C" MC_DLLEXPORT_DEF void MCArrayStoreElementOfCaseless (MCValueRef p_value, MCArrayRef& x_target, MCStringRef p_key)
125101{
126- MCNewAutoNameRef t_key;
127102 MCAutoArrayRef t_array;
128103 MCArrayMutableCopy (x_target, &t_array);
129104
130105 MCValueRef t_value;
131106 t_value = p_value != nil ? p_value : kMCNull ;
132107
133- if (!create_key_for_array (p_key, x_target, &t_key) ||
134- !MCArrayStoreValue (*t_array, MCArrayIsCaseSensitive (*t_array), *t_key, t_value))
108+ MCNewAutoNameRef t_key;
109+ if (!MCNameCreate (p_key, &t_key) ||
110+ !MCArrayStoreValue (*t_array, false , *t_key, t_value))
135111 return ;
136112
137113 MCAutoArrayRef t_new_array;
@@ -143,12 +119,12 @@ extern "C" MC_DLLEXPORT_DEF void MCArrayStoreElementOfCaseless(MCValueRef p_valu
143119
144120extern " C" MC_DLLEXPORT_DEF void MCArrayDeleteElementOfCaseless (MCArrayRef& x_target, MCStringRef p_key)
145121{
146- MCNewAutoNameRef t_key;
147122 MCAutoArrayRef t_array;
148123 MCArrayMutableCopy (x_target, &t_array);
149124
150- if (!create_key_for_array (p_key, x_target, &t_key) ||
151- !MCArrayRemoveValue (*t_array, MCArrayIsCaseSensitive (*t_array), *t_key))
125+ MCNewAutoNameRef t_key;
126+ if (!MCNameCreate (p_key, &t_key) ||
127+ !MCArrayRemoveValue (*t_array, false , *t_key))
152128 return ;
153129
154130 MCAutoArrayRef t_new_array;
0 commit comments