diff options
author | Eric Wong <e@80x24.org> | 2017-03-02 04:08:23 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2017-03-02 04:08:43 +0000 |
commit | f4c2ac4825f99ec4af529d65ae98abfaf034fb0f (patch) | |
tree | bbae58219dc4d158c033b892e0a7da67a969ecdc /lib/dtas/player | |
parent | c2e04a5715d4cfa2b42fa09ba1f641d3ce741685 (diff) | |
download | dtas-f4c2ac4825f99ec4af529d65ae98abfaf034fb0f.tar.gz |
This is faster than relying on eval() for older Rubies. https://bugs.ruby-lang.org/issues/13077 Ruby 2.5 is targetted for release in December 2017.
Diffstat (limited to 'lib/dtas/player')
-rw-r--r-- | lib/dtas/player/client_handler.rb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/dtas/player/client_handler.rb b/lib/dtas/player/client_handler.rb index b17e90b..1e4ac96 100644 --- a/lib/dtas/player/client_handler.rb +++ b/lib/dtas/player/client_handler.rb @@ -3,6 +3,7 @@ # frozen_string_literal: true require_relative '../xs' require_relative '../parse_time' +require_relative '../../dtas' # client protocol handling for -player module DTAS::Player::ClientHandler # :nodoc: @@ -134,7 +135,7 @@ module DTAS::Player::ClientHandler # :nodoc: # or variable names. sink.valid_name?(name) or return io.emit("ERR sink name invalid") - sink.name = name.freeze + sink.name = DTAS.dedupe_str(name) active_before = sink.active before = __sink_snapshot(sink) @@ -143,7 +144,7 @@ module DTAS::Player::ClientHandler # :nodoc: k, v = kv.split('=', 2) case k when %r{\Aenv\.([^=]+)\z} - sink.env[$1] = v + sink.env[DTAS.dedupe_str($1)] = v when %r{\Aenv#([^=]+)\z} v == nil or return io.emit("ERR unset env has no value") sink.env.delete($1) |