Skip to content

Commit f37d085

Browse files
committed
engine: MCRangeMake() audit
1 parent a090def commit f37d085

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+155
-154
lines changed

engine/src/aclip.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ Boolean MCAudioClip::import(MCStringRef fname, IO_handle stream)
471471
uindex_t t_sep;
472472
MCStringRef t_fname;
473473
if (MCStringLastIndexOfChar(fname, PATH_SEPARATOR, UINDEX_MAX, kMCCompareExact, t_sep))
474-
/* UNCHECKED */ MCStringCopySubstring(fname, MCRangeMake(t_sep + 1, MCStringGetLength(fname) - (t_sep + 1)), t_fname);
474+
/* UNCHECKED */ MCStringCopySubstring(fname, MCRangeMakeMinMax(t_sep + 1, MCStringGetLength(fname)), t_fname);
475475
else
476476
t_fname = MCValueRetain(fname);
477477

engine/src/block.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -858,7 +858,7 @@ bool MCBlock::fit(coord_t x, coord_t maxwidth, findex_t& r_break_index, bool& r_
858858
else*/
859859
{
860860
MCRange t_range;
861-
t_range = MCRangeMake(initial_i, i - initial_i);
861+
t_range = MCRangeMakeMinMax(initial_i, i);
862862
// MM-2014-04-16: [[ Bug 11964 ]] Pass through the transform of the stack to make sure the measurment is correct for scaled text.
863863
t_width_float += MCFontMeasureTextSubstringFloat(m_font, parent->GetInternalStringRef(), t_range, parent -> getparent() -> getstack() -> getdevicetransform());
864864
}
@@ -1074,7 +1074,7 @@ void MCBlock::drawstring(MCDC *dc, coord_t x, coord_t p_cell_left, coord_t p_cel
10741074
// FG-2014-07-16: [[ Bug 12539 ]] Make sure not to draw tab characters
10751075
coord_t t_width;
10761076
MCRange t_range;
1077-
t_range = MCRangeMake(t_index, t_next_index - t_index);
1077+
t_range = MCRangeMakeMinMax(t_index, t_next_index);
10781078
if (length > 0 && parent->GetCodepointAtIndex(t_next_index - 1) == '\t')
10791079
t_range.length--;
10801080
t_width = MCFontMeasureTextSubstringFloat(m_font, parent->GetInternalStringRef(), t_range, parent -> getparent() -> getstack() -> getdevicetransform());
@@ -1765,7 +1765,7 @@ coord_t MCBlock::getsubwidth(MCDC *dc, coord_t x /* IGNORED */, findex_t i, find
17651765
break;
17661766
17671767
MCRange t_range;
1768-
t_range = MCRangeMake(sptr, eptr - sptr);
1768+
t_range = MCRangeMakeMinMax(sptr, eptr);
17691769
// MM-2014-04-16: [[ Bug 11964 ]] Pass through the transform of the stack to make sure the measurment is correct for scaled text.
17701770
twidth += MCFontMeasureTextSubstringFloat(m_font, parent->GetInternalStringRef(), t_range, parent -> getparent() -> getstack() -> getdevicetransform());
17711771

engine/src/button.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2201,7 +2201,7 @@ MCRange MCButton::getmenurange()
22012201
if (!MCStringFind(menustring, t_search, MCSTR("\n"), kMCStringOptionCompareExact, &t_temp))
22022202
{
22032203
if (++i == menuhistory)
2204-
return MCRangeMake(sptr, t_length - sptr);
2204+
return MCRangeMakeMinMax(sptr, t_length);
22052205
else
22062206
return MCRangeMake(0, 0);
22072207
break;
@@ -2214,7 +2214,7 @@ MCRange MCButton::getmenurange()
22142214
}
22152215
while (i < menuhistory);
22162216

2217-
return MCRangeMake(sptr, t_search.offset - sptr);
2217+
return MCRangeMakeMinMax(sptr, t_search.offset);
22182218
}
22192219

22202220
void MCButton::makemenu(sublist *bstack, int2 &stackdepth, uint2 menuflags, MCFontRef fontref)
@@ -2728,7 +2728,7 @@ void MCButton::openmenu(Boolean grab)
27282728

27292729
MCAutoStringRef t_label;
27302730
/* UNCHECKED */ MCStringCopySubstring(t_menustring,
2731-
MCRangeMake(t_offset, t_new_offset - t_offset),
2731+
MCRangeMakeMinMax(t_offset, t_new_offset),
27322732
&t_label);
27332733
MCValueAssign(label, *t_label);
27342734
flags |= F_LABEL;

engine/src/cmdss.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1984,7 +1984,7 @@ void MCSubwindow::exec_ctxt(MCExecContext &ctxt)
19841984
{
19851985
MCStringCopySubstring(*t_position_data, MCRangeMake(0, t_delimiter), &t_position);
19861986
t_delimiter++;
1987-
MCStringCopySubstring(*t_position_data, MCRangeMake(t_delimiter, MCStringGetLength(*t_position_data) - t_delimiter), &t_alignment);
1987+
MCStringCopySubstring(*t_position_data, MCRangeMakeMinMax(t_delimiter, MCStringGetLength(*t_position_data)), &t_alignment);
19881988
}
19891989
// AL-2014-04-07: [[ Bug 12138 ]] 'drawer ... at <position>' codepath resulted in t_position uninitialised
19901990
else

engine/src/date.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -871,7 +871,7 @@ void MCD_dateformat(MCExecContext &ctxt, Properties p_length, MCStringRef& r_dat
871871
if (t_char == '!' || t_char == '^')
872872
{
873873
MCAutoStringRef t_new;
874-
/* UNCHECKED */ MCStringCopySubstring(t_format, MCRangeMake(1, MCStringGetLength(t_format) - 1), &t_new);
874+
/* UNCHECKED */ MCStringCopySubstring(t_format, MCRangeMakeMinMax(1, MCStringGetLength(t_format)), &t_new);
875875
MCValueAssign(t_format, *t_new);
876876
}
877877

engine/src/desktop.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -777,11 +777,11 @@ void MCPlatformHandleTextInputQueryTextRanges(MCPlatformWindowRef p_window, MCRa
777777
int4 si, ei;
778778
MCactivefield -> selectedmark(False, si, ei, False);
779779
MCactivefield -> unresolvechars(0, si, ei);
780-
r_selected_range = MCRangeMake(si, ei - si);
780+
r_selected_range = MCRangeMakeMinMax(si, ei);
781781
if (MCactivefield -> getcompositionrange(si, ei))
782782
{
783783
MCactivefield -> unresolvechars(0, si, ei);
784-
r_marked_range = MCRangeMake(si, ei - si);
784+
r_marked_range = MCRangeMakeMinMax(si, ei);
785785
}
786786
else
787787
r_marked_range = MCRangeMake(UINDEX_MAX, 0);
@@ -831,7 +831,7 @@ void MCPlatformHandleTextInputQueryTextRect(MCPlatformWindowRef p_window, MCRang
831831
t_bottom_right = MCactivefield -> getstack() -> stacktowindowloc(MCPointMake(t_rect . x + t_rect . width, t_rect . y + t_rect . height));
832832

833833
r_first_line_rect = MCRectangleMake(t_top_left . x, t_top_left . y, t_bottom_right . x - t_top_left . x, t_bottom_right . y - t_top_left . y);
834-
r_actual_range = MCRangeMake(t_si, t_ei - t_si);
834+
r_actual_range = MCRangeMakeMinMax(t_si, t_ei);
835835
}
836836

837837
void MCPlatformHandleTextInputQueryText(MCPlatformWindowRef p_window, MCRange p_range, unichar_t*& r_chars, uindex_t& r_char_count, MCRange& r_actual_range)
@@ -855,7 +855,7 @@ void MCPlatformHandleTextInputQueryText(MCPlatformWindowRef p_window, MCRange p_
855855
MCactivefield -> unresolvechars(0, t_si, t_ei);
856856

857857
/* UNCHECKED */ MCStringConvertToUnicode(*t_text, r_chars, r_char_count);
858-
r_actual_range = MCRangeMake(t_si, t_ei - t_si);
858+
r_actual_range = MCRangeMakeMinMax(t_si, t_ei);
859859
}
860860

861861
void MCPlatformHandleTextInputInsertText(MCPlatformWindowRef p_window, unichar_t *p_chars, uindex_t p_char_count, MCRange p_replace_range, MCRange p_selection_range, bool p_mark)

engine/src/dispatch.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -963,7 +963,7 @@ IO_stat MCDispatch::loadfile(MCStringRef p_name, MCStack *&sptr)
963963
MCAutoStringRef t_leaf_name;
964964
uindex_t t_leaf_index;
965965
if (MCStringLastIndexOfChar(p_name, PATH_SEPARATOR, UINDEX_MAX, kMCStringOptionCompareExact, t_leaf_index))
966-
/* UNCHECKED */ MCStringCopySubstring(p_name, MCRangeMake(t_leaf_index + 1, MCStringGetLength(p_name) - (t_leaf_index + 1)), &t_leaf_name);
966+
/* UNCHECKED */ MCStringCopySubstring(p_name, MCRangeMakeMinMax(t_leaf_index + 1, MCStringGetLength(p_name)), &t_leaf_name);
967967
else
968968
t_leaf_name = p_name;
969969
if ((stream = MCS_open(*t_leaf_name, kMCOpenFileModeRead, True, False, 0)) != NULL)
@@ -2110,7 +2110,7 @@ bool MCDispatch::loadexternal(MCStringRef p_external)
21102110

21112111
if (MCStringLastIndexOfChar(p_external, '/', t_ext_length, kMCStringOptionCompareExact, t_slash_index))
21122112
{
2113-
if (!MCStringCopySubstring(p_external, MCRangeMake(t_slash_index + 1, t_ext_length - t_slash_index - 1), t_external_leaf))
2113+
if (!MCStringCopySubstring(p_external, MCRangeMakeMinMax(t_slash_index + 1, t_ext_length), t_external_leaf))
21142114
return false;
21152115
}
21162116
else

engine/src/dsklnx.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1393,7 +1393,7 @@ class MCLinuxDesktop: public MCSystemInterface
13931393

13941394
if (!MCStringCreateMutable(0, &t_tilde_path) ||
13951395
!MCStringAppend(*t_tilde_path, *t_pw_dir) ||
1396-
!MCStringAppendSubstring(*t_tilde_path, p_path, MCRangeMake(t_user_end, MCStringGetLength(p_path) - t_user_end)))
1396+
!MCStringAppendSubstring(*t_tilde_path, p_path, MCRangeMakeMinMax(t_user_end, MCStringGetLength(p_path))))
13971397
return false;
13981398
}
13991399
else

engine/src/dskmac.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3847,7 +3847,7 @@ struct MCMacDesktop: public MCSystemInterface, public MCMacSystemService
38473847
else
38483848
{
38493849
MCAutoStringRef t_username;
3850-
if (!MCStringCopySubstring(p_path, MCRangeMake(1, t_user_end - 1), &t_username))
3850+
if (!MCStringCopySubstring(p_path, MCRangeMakeMinMax(1, t_user_end), &t_username))
38513851
return false;
38523852
MCAutoStringRefAsUTF8String t_utf8_username;
38533853
/* UNCHECKED */ t_utf8_username . Lock(*t_username);
@@ -3858,7 +3858,7 @@ struct MCMacDesktop: public MCSystemInterface, public MCMacSystemService
38583858
{
38593859
if (!MCStringCreateMutable(0, &t_tilde_path) ||
38603860
!MCStringAppendNativeChars(*t_tilde_path, (char_t*)t_password->pw_dir, MCCStringLength(t_password->pw_dir)) ||
3861-
!MCStringAppendSubstring(*t_tilde_path, p_path, MCRangeMake(t_user_end, MCStringGetLength(p_path) - t_user_end)))
3861+
!MCStringAppendSubstring(*t_tilde_path, p_path, MCRangeMakeMinMax(t_user_end, MCStringGetLength(p_path))))
38623862
return false;
38633863
}
38643864
else
@@ -4636,7 +4636,7 @@ struct MCMacDesktop: public MCSystemInterface, public MCMacSystemService
46364636
bool t_is_path;
46374637
if (MCStringBeginsWithCString(p_document, (const char_t*)"file:", kMCStringOptionCompareCaseless))
46384638
{
4639-
MCStringCopySubstring(p_document, MCRangeMake(5, MCStringGetLength(p_document) - 5), &t_url);
4639+
MCStringCopySubstring(p_document, MCRangeMakeMinMax(5, MCStringGetLength(p_document)), &t_url);
46404640
t_is_path = true;
46414641
}
46424642
else

engine/src/dskw32.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ static void legacy_path_to_nt_path(MCStringRef p_legacy, MCStringRef &r_nt)
114114
MCStringRef t_temp;
115115
/* UNCHECKED */ MCStringCreateMutable(0, t_temp);
116116
/* UNCHECKED */ MCStringAppend(t_temp, MCSTR("\\\\?\\UNC\\"));
117-
/* UNCHECKED */ MCStringAppendSubstring(t_temp, p_legacy, MCRangeMake(2, MCStringGetLength(p_legacy) - 2));
117+
/* UNCHECKED */ MCStringAppendSubstring(t_temp, p_legacy, MCRangeMakeMinMax(2, MCStringGetLength(p_legacy)));
118118
/* UNCHECKED */ MCStringCopyAndRelease(t_temp, r_nt);
119119
}
120120
else
@@ -131,13 +131,13 @@ static void nt_path_to_legacy_path(MCStringRef p_nt, MCStringRef &r_legacy)
131131
if (MCStringBeginsWithCString(p_nt, (const char_t*)"\\\\?\\UNC\\", kMCStringOptionCompareCaseless))
132132
{
133133
MCStringRef t_temp;
134-
/* UNCHECKED */ MCStringMutableCopySubstring(p_nt, MCRangeMake(8, MCStringGetLength(p_nt) - 8), t_temp);
134+
/* UNCHECKED */ MCStringMutableCopySubstring(p_nt, MCRangeMakeMinMax(8, MCStringGetLength(p_nt)), t_temp);
135135
/* UNCHECKED */ MCStringPrepend(t_temp, MCSTR("\\\\"));
136136
/* UNCHECKED */ MCStringCopyAndRelease(t_temp, r_legacy);
137137
}
138138
else if (MCStringBeginsWithCString(p_nt, (const char_t*)"\\\\?\\", kMCStringOptionCompareCaseless))
139139
{
140-
/* UNCHECKED */ MCStringCopySubstring(p_nt, MCRangeMake(4, MCStringGetLength(p_nt) - 4), r_legacy);
140+
/* UNCHECKED */ MCStringCopySubstring(p_nt, MCRangeMakeMinMax(4, MCStringGetLength(p_nt)), r_legacy);
141141
}
142142
else
143143
{
@@ -338,9 +338,9 @@ bool MCS_registry_split_key(MCStringRef p_path, MCStringRef& r_root, MCStringRef
338338
if (MCStringFirstIndexOfChar(p_path, '\\', 0, kMCStringOptionCompareExact, t_path_offset))
339339
{
340340
if (t_value_offset > t_path_offset)
341-
t_success = t_success && MCStringCopySubstring(p_path, MCRangeMake(t_path_offset + 1, t_value_offset - t_path_offset - 1), r_key);
341+
t_success = t_success && MCStringCopySubstring(p_path, MCRangeMakeMinMax(t_path_offset + 1, t_value_offset), r_key);
342342
}
343-
t_success = t_success && MCStringCopySubstring(p_path, MCRangeMake(t_value_offset + 1, t_length - t_value_offset - 1), r_value);
343+
t_success = t_success && MCStringCopySubstring(p_path, MCRangeMakeMinMax(t_value_offset + 1, t_length), r_value);
344344
}
345345
return t_success && MCStringCopySubstring(p_path, MCRangeMake(0, t_path_offset), r_root);
346346
}
@@ -702,7 +702,7 @@ bool dns_servers_from_registry(MCListRef& r_list)
702702
if (t_chars[i] == ' ' || t_chars[i] == ',' || t_chars[i] == '\n')
703703
{
704704
MCAutoStringRef t_substring;
705-
if (!MCStringCopySubstring(t_string, MCRangeMake(t_start, i - t_start), &t_substring) ||
705+
if (!MCStringCopySubstring(t_string, MCRangeMakeMinMax(t_start, i), &t_substring) ||
706706
!MCListAppend(*t_list, *t_substring))
707707
return false;
708708
t_start = i + 1;
@@ -711,7 +711,7 @@ bool dns_servers_from_registry(MCListRef& r_list)
711711
if (t_start < t_char_count)
712712
{
713713
MCAutoStringRef t_final_string;
714-
if (!MCStringCopySubstring(t_string, MCRangeMake(t_start, MCStringGetLength(t_string) - t_start), &t_final_string) ||
714+
if (!MCStringCopySubstring(t_string, MCRangeMakeMinMax(t_start, MCStringGetLength(t_string)), &t_final_string) ||
715715
!MCListAppend(*t_list, *t_final_string))
716716
return false;
717717
}

0 commit comments

Comments
 (0)