about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2013-09-01 22:31:08 +0000
committerEric Wong <normalperson@yhbt.net>2013-09-01 22:31:08 +0000
commit8c77e3311e28cc73ff9959b3477d7028081940f3 (patch)
treed604e36759e7f2df2c79beb30880487b6e135c0d /lib
parenta3fe4eabd4b3f1eaefb2589061e09787c000690d (diff)
downloaddtas-8c77e3311e28cc73ff9959b3477d7028081940f3.tar.gz
This allows users to display the current env value for introspection
Diffstat (limited to 'lib')
-rw-r--r--lib/dtas/player/client_handler.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/dtas/player/client_handler.rb b/lib/dtas/player/client_handler.rb
index 16714f0..7f1c72e 100644
--- a/lib/dtas/player/client_handler.rb
+++ b/lib/dtas/player/client_handler.rb
@@ -416,6 +416,14 @@ module DTAS::Player::ClientHandler # :nodoc:
   end
 
   def env_handler(io, msg)
+    if msg.empty?
+      # this may fail for large envs due to SEQPACKET size restrictions
+      # do we care?
+      env = ENV.map do |k,v|
+        "#{Shellwords.escape(k)}=#{Shellwords.escape(v)}"
+      end.join(' ')
+      return io.emit(env)
+    end
     msg.each do |kv|
       case kv
       when %r{\A([^=]+)=(.*)\z}