gamespy_query 0.2.0pre12 → 0.2.0pre13
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.
- 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
|