aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rclip.cc
diff options
context:
space:
mode:
authorFritz Elfert <felfert@to.com>2001-07-31 18:30:32 +0000
committerFritz Elfert <felfert@to.com>2001-07-31 18:30:32 +0000
commit6aa6ba4bb210102485e8d534eac2aa853b7f54b5 (patch)
tree4e92c52cde00e810aa2df09963c7563f8a4b2607 /lib/rclip.cc
parent5ab6d90452fcfe15d6aaafc599c5467d3c05552a (diff)
downloadplptools-6aa6ba4bb210102485e8d534eac2aa853b7f54b5.tar.gz
plptools-6aa6ba4bb210102485e8d534eac2aa853b7f54b5.tar.bz2
plptools-6aa6ba4bb210102485e8d534eac2aa853b7f54b5.zip
Return E_PSI_GEN_NSUP, if Psion refuses attach to protocol.
Diffstat (limited to 'lib/rclip.cc')
-rw-r--r--lib/rclip.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/rclip.cc b/lib/rclip.cc
index d2e4bdb..91870cc 100644
--- a/lib/rclip.cc
+++ b/lib/rclip.cc
@@ -67,6 +67,8 @@ reset(void)
a.addStringT(getConnectName());
if (skt->sendBufferStore(a)) {
if (skt->getBufferStore(a) == 1) {
+ if (!strcmp(a.getString(0), "NAK"))
+ status = rfsv::E_PSI_GEN_NSUP;
if (!strcmp(a.getString(0), "Ok"))
status = rfsv::E_PSI_GEN_NONE;
}
@@ -96,6 +98,9 @@ sendCommand(enum commands cc)
if (status == rfsv::E_PSI_FILE_DISC)
return false;
}
+ if (status != rfsv::E_PSI_GEN_NONE)
+ return false;
+
bool result;
bufferStore a;
a.addByte(cc);
@@ -174,6 +179,9 @@ initClipbd() {
Enum<rfsv::errs> ret;
bufferStore a;
+ if (status != rfsv::E_PSI_GEN_NONE)
+ return status;
+
sendCommand(RCLIP_INIT);
if ((ret = getResponse(a)) == rfsv::E_PSI_GEN_NONE) {
if ((a.getLen() != 3) || (a.getByte(0) != RCLIP_INIT) ||
@@ -187,6 +195,10 @@ Enum<rfsv::errs> rclip::
getResponse(bufferStore & data)
{
Enum<rfsv::errs> ret = rfsv::E_PSI_GEN_NONE;
+
+ if (status == rfsv::E_PSI_GEN_NSUP)
+ return status;
+
if (skt->getBufferStore(data) == 1)
return ret;
else