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.
- data/lib/gamespy_query/base.rb +2 -2
- data/lib/gamespy_query/master.rb +1 -1
- data/lib/gamespy_query/parser.rb +5 -5
- data/lib/gamespy_query/version.rb +1 -1
- metadata +1 -1
data/lib/gamespy_query/base.rb
CHANGED
@@ -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
|
data/lib/gamespy_query/master.rb
CHANGED
data/lib/gamespy_query/parser.rb
CHANGED
@@ -69,13 +69,13 @@ module GamespyQuery
|
|
69
69
|
player_data += packets[1]
|
70
70
|
else
|
71
71
|
# GameData-only
|
72
|
-
data[:game].merge!
|
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
|
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] =
|
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 <<
|
185
|
+
new_player_data << info # insert entry
|
186
186
|
end
|
187
187
|
end
|
188
188
|
end
|