File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1130,11 +1130,24 @@ where
11301130
11311131 if let Some ( webstorage_start_match) = webstorage_start_match {
11321132 let webstorage_open_bracket = webstorage_start_match. end ( ) ;
1133- let webstorage_end_regex = Regex :: new ( r"[^\\]['\x22]\s*}" ) . unwrap ( ) ;
1134- let webstorage_end_match = webstorage_end_regex. find ( & steam_user_localconfig_str[ webstorage_open_bracket..] ) ;
11351133
1136- if let Some ( webstorage_end_match) = webstorage_end_match {
1137- let webstorage_close_bracket = webstorage_open_bracket + webstorage_end_match. end ( ) - 1 ;
1134+ let mut open_bracket_count: usize = 1 ;
1135+ let mut webstorage_close_bracket_offset: Option < usize > = None ;
1136+ for ( offset, char) in ( 0_usize ..) . zip ( steam_user_localconfig_str[ webstorage_open_bracket..] . chars ( ) ) {
1137+ if char == '{' {
1138+ open_bracket_count += 1 ;
1139+ } else if char == '}' {
1140+ open_bracket_count -= 1 ;
1141+ }
1142+
1143+ if open_bracket_count == 0 {
1144+ webstorage_close_bracket_offset = Some ( offset) ;
1145+ break ;
1146+ }
1147+ }
1148+
1149+ if let Some ( webstorage_close_bracket_offset) = webstorage_close_bracket_offset {
1150+ let webstorage_close_bracket = webstorage_open_bracket + webstorage_close_bracket_offset;
11381151 steam_user_localconfig_str = format ! ( "{}{}" , & steam_user_localconfig_str[ ..webstorage_open_bracket] , & steam_user_localconfig_str[ webstorage_close_bracket..] ) ;
11391152 }
11401153 }
You can’t perform that action at this time.
0 commit comments