diff options
author | daniel <danieruru@gmail.com> | 2013-01-25 23:13:08 +0900 |
---|---|---|
committer | daniel <danieruru@gmail.com> | 2013-01-25 23:13:08 +0900 |
commit | 67801485ab5a9e4509d2bb2cdd9454ee4ed1ab11 (patch) | |
tree | fb44cf1cc418f6511ad5106ae2fa1db73668f103 /libvxi11client | |
parent | e3d04285a9460a8ab13e9725fc2febf1be63a4d9 (diff) |
fix docmd
Diffstat (limited to 'libvxi11client')
-rw-r--r-- | libvxi11client/libvxi11client.c | 5 | ||||
-rw-r--r-- | libvxi11client/perlbits/VXI11-Client.t | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/libvxi11client/libvxi11client.c b/libvxi11client/libvxi11client.c index f504def..743168f 100644 --- a/libvxi11client/libvxi11client.c +++ b/libvxi11client/libvxi11client.c @@ -243,6 +243,11 @@ int vxi11_docmd(VXI11Context* context, char* datain, int datainlen, char* dataou .io_timeout = VXI11_DEFAULT_TIMEOUT, .lock_timeout = VXI11_DEFAULT_TIMEOUT, .cmd = cmd, .network_order = 0, .datasize = 0 }; + if (datain == NULL) + datainlen = 0; + else if (datainlen == -1) + datainlen = strlen(datain); + params.data_in.data_in_len = datainlen; params.data_in.data_in_val = datain; diff --git a/libvxi11client/perlbits/VXI11-Client.t b/libvxi11client/perlbits/VXI11-Client.t index 8a09a55..96d030b 100644 --- a/libvxi11client/perlbits/VXI11-Client.t +++ b/libvxi11client/perlbits/VXI11-Client.t @@ -8,7 +8,7 @@ use strict; use warnings; -use Test::More tests => 16; +use Test::More tests => 17; BEGIN { use_ok('VXI11::Client') }; ######################### @@ -41,7 +41,8 @@ is($instr->vxi_clear(), 1, "Clear"); is($instr->vxi_trigger(), 1, "Trigger"); is($instr->vxi_local(), 1, "Local"); is($instr->vxi_remote(), 1, "Remote"); -#ok($instr->vxi_docmd(1) < 1, "docmd"); #this should fail on the bb server +my ($ret, $dataout, $dataoutlen) = $instr->vxi_docmd(1); +ok($ret < 1, "docmd"); #this should fail on the bb server is($instr->vxi_unlock(), 1, "Unlock"); is($instr->vxi_close(), 1, "Close"); |