summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtyom V. Poptsov <poptsov.artyom@gmail.com>2016-11-26 02:51:28 +0300
committerArtyom V. Poptsov <poptsov.artyom@gmail.com>2016-11-26 02:51:28 +0300
commit004c0ca28ca7f54f7a1a583d1f666f8186b7ed4e (patch)
treeda35f60ddc16d3b2888bc102db94430f6b759240
parenttests/{client-server,key}.scm: Don't use deprecated procedures (diff)
downloadguile-ssh-004c0ca28ca7f54f7a1a583d1f666f8186b7ed4e.tar.gz
channel.scm (channel-stream-set!): New procedure
* modules/ssh/channel.scm (channel-stream-set!): New procedure. (channel-set-stream!): Deprecate. * libguile-ssh/channel-func.c (guile_ssh_channel_set_stream_x): Rename to 'gssh_channel_stream_set_x'. * doc/api-channels.texi: Update. * tests/client-server.scm ("channel-stream"): New TC.
-rw-r--r--doc/api-channels.texi2
-rw-r--r--libguile-ssh/channel-func.c13
-rw-r--r--modules/ssh/channel.scm13
-rw-r--r--tests/client-server.scm13
4 files changed, 30 insertions, 11 deletions
diff --git a/doc/api-channels.texi b/doc/api-channels.texi
index c3666fe..7333505 100644
--- a/doc/api-channels.texi
+++ b/doc/api-channels.texi
@@ -101,7 +101,7 @@ Change size of the @acronym{PTY} to @var{columns} and @var{rows}. The
@var{channel} must be open. Return value is undefined.
@end deffn
-@deffn {Scheme Procedure} channel-set-stream! channel stream
+@deffn {Scheme Procedure} channel-stream-set! channel stream
Set default @var{stream} for @var{channel}. @var{stream} must be one of the
following symbols: @code{stdout} (default), @code{stderr}. The @var{channel}
must be open. Throw @code{guile-ssh-error} on error. Return value is
diff --git a/libguile-ssh/channel-func.c b/libguile-ssh/channel-func.c
index 319f97a..d292c15 100644
--- a/libguile-ssh/channel-func.c
+++ b/libguile-ssh/channel-func.c
@@ -391,15 +391,10 @@ eturn value is undefined.\
}
#undef FUNC_NAME
-SCM_DEFINE (guile_ssh_channel_set_stream_x,
- "channel-set-stream!", 2, 0, 0,
- (SCM channel, SCM stream_name),
- "\
-Set stream STREAM_NAME for channel CHANNEL. STREAM_NAME must be one of the \n\
-following symbols: \"stdout\" (default), \"stderr\".\n\
-Return value is undefined.\
-")
-#define FUNC_NAME s_guile_ssh_channel_set_stream_x
+SCM_GSSH_DEFINE (gssh_channel_stream_set_x,
+ "%gssh-channel-stream-set!", 2,
+ (SCM channel, SCM stream_name))
+#define FUNC_NAME s_gssh_channel_stream_set_x
{
struct channel_data *cd = _scm_to_channel_data (channel);
diff --git a/modules/ssh/channel.scm b/modules/ssh/channel.scm
index 5660978..361c14f 100644
--- a/modules/ssh/channel.scm
+++ b/modules/ssh/channel.scm
@@ -63,7 +63,8 @@
channel-cancel-forward
channel-request-send-exit-status
channel-set-pty-size!
- channel-set-stream!
+ channel-stream-set!
+ channel-set-stream! ; deprecated
channel-stream
channel-get-stream ; deprecated
channel-session
@@ -105,6 +106,16 @@ Return one of the following symbols: stdout, stderr."
"Use 'channel-stream' instead.")
(%gssh-channel-stream channel))
+(define (channel-stream-set! channel stream)
+ "Set stream STREAM for channel CHANNEL. STREAM must be one of the following
+symbols: stdout (default), stderr. Return value is undefined."
+ (%gssh-channel-stream-set! channel stream))
+
+(define (channel-set-stream! channel stream)
+ (issue-deprecation-warning "'channel-get-stream' is deprecated. "
+ "Use 'channel-stream' instead.")
+ (%gssh-channel-stream-set! channel stream))
+
(define* (channel-open-forward channel
#:key (source-host "localhost") local-port
diff --git a/tests/client-server.scm b/tests/client-server.scm
index ae25039..9c7dbaf 100644
--- a/tests/client-server.scm
+++ b/tests/client-server.scm
@@ -670,6 +670,19 @@
(not (output-port? channel))
(string=? (read-line channel) str))))))))
+(test-assert-with-log "channel-stream"
+ (run-client-test
+ (lambda (server)
+ (start-server/dt-test server
+ (lambda (channel)
+ (let ((str (read-line channel)))
+ (write-line str channel)))))
+ (lambda ()
+ (call-with-connected-session/channel-test
+ (lambda (session)
+ (let ((c (make-channel/dt-test session)))
+ (equal? (channel-stream c) 'stdout)))))))
+
;;;