@@ -1752,7 +1752,7 @@ static MCExternalError MCExternalVariableStore(MCExternalVariableRef var, MCExte
17521752 if (p_value == nil)
17531753 return kMCExternalErrorNoValue ;
17541754
1755- switch (p_options & 0xf )
1755+ switch (p_options & 0xff )
17561756 {
17571757 case kMCExternalValueOptionAsVariable :
17581758 return var -> Set ((MCExternalVariableRef)p_value);
@@ -1928,8 +1928,8 @@ static MCExternalError MCExternalVariableFetch(MCExternalVariableRef var, MCExte
19281928 return kMCExternalErrorNoValue ;
19291929
19301930 MCExternalError t_error;
1931-
1932- switch (p_options & 0xf )
1931+
1932+ switch (p_options & 0xff )
19331933 {
19341934 case kMCExternalValueOptionAsVariable :
19351935 return ((MCExternalVariableRef)p_value) -> Set (var);
@@ -2028,8 +2028,8 @@ static MCExternalError MCExternalVariableFetch(MCExternalVariableRef var, MCExte
20282028 *(CFNumberRef*)p_value = CFNumberCreate (NULL , kCFNumberFloat64Type , &t_real);
20292029
20302030 // NS types must be autoreleasing
2031- if ((p_options & 0xf ) == kMCExternalValueOptionAsNSNumber )
2032- [*(NSArray **)p_value autorelease];
2031+ if ((p_options & 0xff ) == kMCExternalValueOptionAsNSNumber )
2032+ [*(NSNumber **)p_value autorelease];
20332033
20342034 break ;
20352035 }
@@ -2046,7 +2046,7 @@ static MCExternalError MCExternalVariableFetch(MCExternalVariableRef var, MCExte
20462046 return kMCExternalErrorOutOfMemory ;
20472047
20482048 // NS types must be autoreleasing
2049- if ((p_options & 0xf ) == kMCExternalValueOptionAsNSString )
2049+ if ((p_options & 0xff ) == kMCExternalValueOptionAsNSString )
20502050 [*(NSString**)p_value autorelease];
20512051 break ;
20522052 }
@@ -2064,12 +2064,10 @@ static MCExternalError MCExternalVariableFetch(MCExternalVariableRef var, MCExte
20642064 if (!MCStringConvertToNative (*t_stringref, (char_t *&)t_chars, t_char_count))
20652065 return kMCExternalErrorOutOfMemory ;
20662066
2067- *(CFDataRef*)p_value = CFDataCreate (NULL , (UInt8*)t_chars, t_char_count);
2068-
2069- MCMemoryDeleteArray (t_chars);
2067+ *(CFDataRef*)p_value = CFDataCreateWithBytesNoCopy (NULL , (UInt8*)t_chars, t_char_count, NULL );
20702068
20712069 // NS types must be autoreleasing
2072- if ((p_options & 0xf ) == kMCExternalValueOptionAsNSData )
2070+ if ((p_options & 0xff ) == kMCExternalValueOptionAsNSData )
20732071 [*(NSData**)p_value autorelease];
20742072 break ;
20752073 }
@@ -2085,7 +2083,7 @@ static MCExternalError MCExternalVariableFetch(MCExternalVariableRef var, MCExte
20852083 return t_error;
20862084
20872085 // NS types must be autoreleasing
2088- if ((p_options & 0xf ) == kMCExternalValueOptionAsNSArray )
2086+ if ((p_options & 0xff ) == kMCExternalValueOptionAsNSArray )
20892087 [*(NSArray**)p_value autorelease];
20902088 return t_error;
20912089 }
@@ -2101,7 +2099,7 @@ static MCExternalError MCExternalVariableFetch(MCExternalVariableRef var, MCExte
21012099 return t_error;
21022100
21032101 // NS types must be autoreleasing
2104- if ((p_options & 0xf ) == kMCExternalValueOptionAsNSDictionary )
2102+ if ((p_options & 0xff ) == kMCExternalValueOptionAsNSDictionary )
21052103 [*(NSDictionary**)p_value autorelease];
21062104
21072105 return t_error;
@@ -2122,7 +2120,7 @@ static MCExternalError MCExternalVariableAppend(MCExternalVariableRef var, MCExt
21222120 if (p_value == nil)
21232121 return kMCExternalErrorNoValue ;
21242122
2125- switch (p_options & 0xf )
2123+ switch (p_options & 0xff )
21262124 {
21272125 case kMCExternalValueOptionAsVariable :
21282126 return var -> Append (p_options, (MCExternalVariableRef)p_value);
0 commit comments