if(log.isDebugEnabled()) { if (l >= 5) log.debug(" byte 5 " + Integer.toBinaryString(bk.getNextByte())); if (l >= 6) log.debug(" byte 6 " + Integer.toBinaryString(bk.getNextByte())); if (l == 7) log.debug(" byte 7 " + Integer.toBinaryString(bk.getNextByte())); }
   private boolean processSOH() throws Exception {      int l = bk.getNextByte();  // length//      System.out.println(" byte 0 " + l);      if (l > 0 && l <= 7) {         bk.getNextByte(); // flag byte 2         bk.getNextByte(); // reserved         bk.getNextByte(); // resequence fields         screen52.clearTable();         // well that is the first time I have seen this.  This fixes a problem         // with S/36 command line.  Finally got it.         if (l <=3)            return false;         screen52.setErrorLine(bk.getNextByte()); // error row         int byte1 = 0;         if (l >= 5) {            byte1 = bk.getNextByte();            dataIncluded[23] = (byte1 & 0x80) == 0x80;            dataIncluded[22] = (byte1 & 0x40) == 0x40;            dataIncluded[21] = (byte1 & 0x20) == 0x20;            dataIncluded[20] = (byte1 & 0x10) == 0x10;            dataIncluded[19] = (byte1 & 0x8) == 0x8;            dataIncluded[18] = (byte1 & 0x4) == 0x4;            dataIncluded[17] = (byte1 & 0x2) == 0x2;            dataIncluded[16] = (byte1 & 0x1)  == 0x1;         }         if (l >= 6) {            byte1 = bk.getNextByte();            dataIncluded[15] = (byte1 & 0x80) == 0x80;            dataIncluded[14] = (byte1 & 0x40) == 0x40;            dataIncluded[13] = (byte1 & 0x20) == 0x20;            dataIncluded[12] = (byte1 & 0x10) == 0x10;            dataIncluded[11] = (byte1 & 0x8) == 0x8;            dataIncluded[10] = (byte1 & 0x4) == 0x4;            dataIncluded[9] = (byte1 & 0x2) == 0x2;            dataIncluded[8] = (byte1 & 0x1) == 0x1;         }         if (l >= 7) {            byte1 = bk.getNextByte();            dataIncluded[7] = (byte1 & 0x80) == 0x80;            dataIncluded[6] = (byte1 & 0x40) == 0x40;            dataIncluded[5] = (byte1 & 0x20) == 0x20;            dataIncluded[4] = (byte1 & 0x10) == 0x10;            dataIncluded[3] = (byte1 & 0x8) == 0x8;            dataIncluded[2] = (byte1 & 0x4) == 0x4;            dataIncluded[1] = (byte1 & 0x2) == 0x2;            dataIncluded[0] = (byte1 & 0x1) == 0x1;         }//         if (l >= 5)//            System.out.println(" byte 5 " + Integer.toBinaryString(bk.getNextByte()));//         if (l >= 6)//            System.out.println(" byte 6 " + Integer.toBinaryString(bk.getNextByte()));//         if (l == 7)//            System.out.println(" byte 7 " + Integer.toBinaryString(bk.getNextByte()));         return false;      }      else {         sendNegResponse(NR_REQUEST_ERROR,0x05,0x01,0x2B,"invalid SOH length");         return true;      }   }