From 6aa6ba4bb210102485e8d534eac2aa853b7f54b5 Mon Sep 17 00:00:00 2001 From: Fritz Elfert Date: Tue, 31 Jul 2001 18:30:32 +0000 Subject: Return E_PSI_GEN_NSUP, if Psion refuses attach to protocol. --- lib/rclip.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'lib/rclip.cc') 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 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 rclip:: getResponse(bufferStore & data) { Enum ret = rfsv::E_PSI_GEN_NONE; + + if (status == rfsv::E_PSI_GEN_NSUP) + return status; + if (skt->getBufferStore(data) == 1) return ret; else -- cgit v1.2.3