Develop and Download Open Source Software

Browse Subversion Repository

Diff of /trunk/teraterm/ttpcmn/ttcmn.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3504 by doda, Tue Jun 16 08:29:45 2009 UTC revision 3505 by doda, Tue Jun 16 09:37:13 2009 UTC
# Line 1096  int FAR PASCAL CommBinaryOut(PComVar cv, Line 1096  int FAR PASCAL CommBinaryOut(PComVar cv,
1096                  d[Len] = B[i];                  d[Len] = B[i];
1097                  Len++;                  Len++;
1098    
1099                  if ( cv->TelFlag && (B[i]=='\x0d') &&                  if ( cv->TelFlag && (B[i]=='\x0d') && ! cv->TelBinSend ) {
1100                       ! cv->TelBinSend ) {                          d[Len++] = '\x00';
1101                          d[Len] = '\x00';                  }
1102                          Len++;                  else if ( cv->TelFlag && (B[i]=='\xff') ) {
1103                  };                          d[Len++] = '\xff';
   
                 if ( cv->TelFlag && (B[i]=='\xff') ) {  
                         d[Len] = '\xff';  
                         Len++;  
1104                  }                  }
1105    
1106                  if ( OutBuffSize-cv->OutBuffCount-Len >=0 ) {                  if ( OutBuffSize - cv->OutBuffCount - Len >= 0 ) {
1107                          CommRawOut(cv,d,Len);                          CommRawOut(cv, d, Len);
1108                          a = 1;                          a = 1;
1109                  }                  }
1110                  else {                  else {
1111                          a = 0;                          a = 0;
1112                  }                  }
1113    
1114                  i = i + a;                  i += a;
1115            }
1116            return i;
1117    }
1118    
1119    int FAR PASCAL CommBinaryBuffOut(PComVar cv, PCHAR B, int C)
1120    {
1121            int a, i, Len, OutLen;
1122            char d[3];
1123    
1124            if ( ! cv->Ready ) {
1125                    return C;
1126            }
1127    
1128            i = 0;
1129            a = 1;
1130            while ((a>0) && (i<C)) {
1131                    Len = 0;
1132    
1133                    d[Len] = B[i];
1134                    Len++;
1135    
1136                    if (B[i] == CR) {
1137                            if ( cv->TelFlag && ! cv->TelBinSend ) {
1138                                    d[Len++] = '\x00';
1139                            }
1140                            if (cv->TelLineMode) {
1141                                    cv->Flush = TRUE;
1142                            }
1143                    }
1144                    else if ( cv->TelFlag && (B[i]=='\xff') ) {
1145                            d[Len++] = '\xff';
1146                    }
1147    
1148                    if (cv->TelLineMode) {
1149                            if (OutBuffSize - cv->LineModeBuffCount - Len >= 0) {
1150                                    memcpy(&(cv->LineModeBuff[cv->LineModeBuffCount]), d, Len);
1151                                    cv->LineModeBuffCount += Len;
1152                                    if (cv->Flush) {
1153                                            cv->FlushLen = cv->LineModeBuffCount;
1154                                    }
1155                                    a = 1;
1156                            }
1157                            else {
1158                                    a = 0;
1159                            }
1160                            if (cv->FlushLen > 0) {
1161                                    OutLen = CommRawOut(cv, cv->LineModeBuff, cv->FlushLen);
1162                                    cv->FlushLen -= OutLen;
1163                                    cv->LineModeBuffCount -= OutLen;
1164                                    memmove(cv->LineModeBuff, &(cv->LineModeBuff[OutLen]), cv->LineModeBuffCount);
1165                            }
1166                            cv->Flush = FALSE;
1167                    }
1168                    else {
1169                            if ( OutBuffSize - cv->OutBuffCount - Len >= 0 ) {
1170                                    CommRawOut(cv, d, Len);
1171                                    a = 1;
1172                            }
1173                            else {
1174                                    a = 0;
1175                            }
1176                    }
1177    
1178                    i += a;
1179          }          }
1180          return i;          return i;
1181  }  }

Legend:
Removed from v.3504  
changed lines
  Added in v.3505

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26