diff --git a/mbsebbs/transfer.c b/mbsebbs/transfer.c index e922e435..6753175b 100644 --- a/mbsebbs/transfer.c +++ b/mbsebbs/transfer.c @@ -389,7 +389,7 @@ int upload(up_list **upload_list) struct timeval starttime, endtime; struct timezone tz; unsigned long Size = 0; - int err, Count = 0, rc = 0; + int err, Count = 0, rc = 0, want1k = FALSE; up_list *tmp, *ta; /* @@ -427,7 +427,9 @@ int upload(up_list **upload_list) if (strncasecmp(sProtName, "ymodem", 6) == 0) protocol = ZM_YMODEM; - rc = zmrcvfiles(); + if (strstr(sProtName, "1K") || strstr(sProtName, "1k")) + want1k = TRUE; + rc = zmrcvfiles(want1k); Syslog('b', "Begin dir processing"); if ((dirp = opendir(".")) == NULL) { diff --git a/mbsebbs/ymrecv.c b/mbsebbs/ymrecv.c index 4c07e31e..295e29e7 100644 --- a/mbsebbs/ymrecv.c +++ b/mbsebbs/ymrecv.c @@ -59,13 +59,14 @@ int wcgetsec(size_t *, char *, unsigned int); * Length is indeterminate as long as less than Blklen * A null string represents no more files (YMODEM) */ -int wcrxpn(char *rpn) +int wcrxpn(char *rpn, int want1k) { register int c; size_t Blklen = 0; /* record length of received packets */ + Crcflg = want1k purgeline(0); - Syslog('x', "%s: wcrxpn()", protname()); + Syslog('x', "%s: wcrxpn() crc=%s", protname(), Crcflg ? "true":"false"); et_tu: Firstsec = TRUE; diff --git a/mbsebbs/ymrecv.h b/mbsebbs/ymrecv.h index f031405d..ee6cda41 100644 --- a/mbsebbs/ymrecv.h +++ b/mbsebbs/ymrecv.h @@ -8,7 +8,7 @@ #define RETRYMAX 10 -int wcrxpn(char *); +int wcrxpn(char *, int); int wcrx(void); #endif