gamespy_query 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -98,6 +98,10 @@ module GamespyQuery
98
98
  # Encoding
99
99
  get_string(packet)
100
100
  end
101
+
102
+ def clean(str)
103
+ str.encode("UTF-8", invalid: :replace, undef: :replace)
104
+ end
101
105
 
102
106
  def parse_game_data(packet)
103
107
  Tools.debug {"Game Parsing #{packet.inspect}"}
@@ -109,7 +113,7 @@ module GamespyQuery
109
113
  if (index % 2) == 0
110
114
  key = data
111
115
  else
112
- game_data[key] = data
116
+ game_data[key] = data.is_a?(String) ? clean(data) : data
113
117
  end
114
118
  end
115
119
 
@@ -167,7 +171,7 @@ module GamespyQuery
167
171
  # Parse the data - \x00 is printed after a non-nil entry, otherwise \x00 means nil (e.g empty team)
168
172
  until str.empty?
169
173
  entry = str[RX_X0_SPEC]
170
- player_data[player_data.keys[i]] << entry.sub(STR_X0, STR_EMPTY)
174
+ player_data[player_data.keys[i]] << clean(entry.sub(STR_X0, STR_EMPTY))
171
175
  str.sub!(entry, STR_EMPTY)
172
176
  end
173
177
 
@@ -1,3 +1,3 @@
1
1
  module GamespyQuery
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  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.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-06 00:00:00.000000000 Z
12
+ date: 2012-02-10 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: ''
15
15
  email:
@@ -49,7 +49,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
49
49
  version: '0'
50
50
  requirements: []
51
51
  rubyforge_project: gamespy_query
52
- rubygems_version: 1.8.14
52
+ rubygems_version: 1.8.15
53
53
  signing_key:
54
54
  specification_version: 3
55
55
  summary: Ruby library for accessing Gamespy services