gamespy_query 0.2.0pre12 → 0.2.0pre13

Sign up to get free protection for your applications and to get access to all the features.
@@ -105,13 +105,13 @@ STR
105
105
 
106
106
  # Convert string to UTF-8, stripping out all invalid/undefined characters
107
107
  # @param [String] str String to convert
108
- def encode_string(str)
108
+ def encode_string(str, alt = false)
109
109
  #if RUBY_PLATFORM =~ PLATFORM_IR
110
110
  # System::Text::Encoding.UTF8.GetString(System::Array.of(System::Byte).new(str.bytes.to_a)).to_s
111
111
  #else
112
112
  # str.encode(STR_UTF8, STR_UTF8, invalid: :replace, undef: :replace)
113
113
  #end
114
- str.encode(STR_UTF8, STR_UTF8, invalid: :replace, undef: :replace)
114
+ alt ? str.encode(STR_UTF8, invalid: :replace, undef: :replace) : str.encode(STR_UTF8, STR_UTF8, invalid: :replace, undef: :replace)
115
115
  rescue nil, Exception => e
116
116
  # Fallback - convert to UTF and replace any invalid or undefined
117
117
  Tools.log_exception e
@@ -106,7 +106,7 @@ module GamespyQuery
106
106
  if i % 2 == 0
107
107
  key = data.to_sym
108
108
  else
109
- game_data[key] = data.is_a?(String) ? encode_string(data) : data
109
+ game_data[key] = data
110
110
  end
111
111
  end
112
112
  addr = "#{ip}:#{port}"
@@ -69,13 +69,13 @@ module GamespyQuery
69
69
  player_data += packets[1]
70
70
  else
71
71
  # GameData-only
72
- data[:game].merge!(parse_game_data(packet))
72
+ data[:game].merge! parse_game_data( encode_string(packet, true) )
73
73
  end
74
74
  end
75
75
  end
76
76
 
77
77
  # Parse player_data
78
- data[:players] = parse_player_data(player_data)
78
+ data[:players] = parse_player_data( encode_string(player_data, true) )
79
79
 
80
80
  data
81
81
  end
@@ -105,7 +105,7 @@ module GamespyQuery
105
105
  if (index % 2) == 0
106
106
  key = data.to_sym
107
107
  else
108
- game_data[key] = data.is_a?(String) ? encode_string(data) : data
108
+ game_data[key] = data
109
109
  end
110
110
  end
111
111
 
@@ -178,11 +178,11 @@ module GamespyQuery
178
178
  next # ignore
179
179
  else
180
180
  if overwrite
181
- new_player_data[-1] = encode_string(info) # Overwrite latest entry
181
+ new_player_data[-1] = info # Overwrite latest entry
182
182
  overwrite = false # done the overwrite
183
183
  else
184
184
  #break if new_player_data.size == num_players
185
- new_player_data << encode_string(info) # insert entry
185
+ new_player_data << info # insert entry
186
186
  end
187
187
  end
188
188
  end
@@ -1,4 +1,4 @@
1
1
  module GamespyQuery
2
2
  # Version of the library
3
- VERSION = "0.2.0pre12"
3
+ VERSION = "0.2.0pre13"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gamespy_query
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0pre12
4
+ version: 0.2.0pre13
5
5
  prerelease: 5
6
6
  platform: ruby
7
7
  authors: