egray@fthood.UUCP (02/17/89)
This is patch #1 to the Pcomm v1.2 distribution package. After this
patch is installed, the version number will change from 1.2.0 to 1.2.1.
This patch will fix a problem with ymodem transfers on 16 bit systems,
and will fix a bug in the redial function.
Many thanks to Larry Clark (...killer!larryd1) for pointing these bugs
out to me.
Emmet P. Gray US Army, HQ III Corps & Fort Hood
...!uunet!uiucuxc!fthood!egray Attn: AFZF-DE-ENV
Directorate of Engineering & Housing
Environmental Management Office
Fort Hood, TX 76544-5057
-----------------------------------------------------------------------------
Prereq: "1.2.0"
*** old/info.c Fri Feb 10 11:33:36 1989
--- info.c Sun Feb 12 10:07:13 1989
***************
*** 4,9
*/
! #define VERSION "1.2.0"
! #define DATE "4 Feb 89"
#include <stdio.h>
--- 4,9 -----
*/
! #define VERSION "1.2.1"
! #define DATE "18 Feb 89"
#include <stdio.h>
*** old/main.c Fri Feb 10 11:33:37 1989
--- main.c Sun Feb 12 10:07:07 1989
***************
*** 13,16
* Release v1.1 21 Aug 88
* Release v1.2.0 4 Feb 89
*/
--- 13,17 -----
* Release v1.1 21 Aug 88
* Release v1.2.0 4 Feb 89
+ * Patch #1 18 Feb 89
*/
*** old/redial.c Fri Feb 10 11:28:38 1989
--- redial.c Fri Feb 10 07:22:18 1989
***************
*** 52,56
entry = strtok(ans, " \t");
for (i=0; i<NUM_QUEUE; i++) {
! if (*entry == '\0') {
dir->q_num[i] = -1;
continue;
--- 52,56 -----
entry = strtok(ans, " \t");
for (i=0; i<NUM_QUEUE; i++) {
! if (entry == NULL) {
dir->q_num[i] = -1;
continue;
*** old/script.c Fri Feb 10 11:28:38 1989
--- script.c Tue Feb 7 10:26:44 1989
***************
*** 41,45
char buf[80], *ttyname(), *strcpy(), *path, *findfile();
void _exit(), error_win(), input_off(), do_input();
- unsigned int sleep();
/* if empty */
--- 41,44 -----
char buf[80], *ttyname(), *strcpy(), *path, *findfile();
void _exit(), error_win(), input_off(), do_input();
/* if empty */
***************
*** 153,157
close(dup_pipe[0]);
close(dup_pipe[1]);
- sleep(1);
beep();
return;
--- 152,155 -----
close(dup_pipe[0]);
close(dup_pipe[1]);
beep();
return;
*** old/terminal.c Mon Feb 13 08:05:19 1989
--- terminal.c Mon Feb 13 08:11:33 1989
***************
*** 15,18
#include "xmodem.h"
#ifdef UNIXPC
#include <sys/phone.h>
--- 15,24 -----
#include "xmodem.h"
+ #ifdef BSD
+ #include <sys/file.h>
+ #else /* BSD */
+ #include <fcntl.h>
+ #endif /* BSD */
+
#ifdef UNIXPC
#include <sys/phone.h>
***************
*** 17,21
#ifdef UNIXPC
#include <sys/phone.h>
- #include <fcntl.h>
#endif /* UNIXPC */
--- 23,26 -----
#ifdef UNIXPC
#include <sys/phone.h>
#endif /* UNIXPC */
***************
*** 408,411
void send_str(), st_line(), line_set();
char buf[80], *strcpy(), *ttyname();
/* sanity checking */
if (modem == NULL)
--- 413,417 -----
void send_str(), st_line(), line_set();
char buf[80], *strcpy(), *ttyname();
+ unsigned int sleep();
/* sanity checking */
if (modem == NULL)
***************
*** 436,439
#endif /* UNIXPC */
send_str(modem->hang_up[modem->m_cur], SLOW);
if (verbose)
--- 442,453 -----
#endif /* UNIXPC */
send_str(modem->hang_up[modem->m_cur], SLOW);
+
+ /*
+ * Some modems do "damage" to the tty driver when they hang up by
+ * flashing the modem control lines on the port. The following is
+ * some witchcraft designed to put the driver back the way it was.
+ */
+ sleep(1);
+ close(open(ttyname(fd), O_RDWR));
if (verbose)
*** old/x_rcv.c Fri Feb 10 11:28:38 1989
--- x_rcv.c Fri Feb 10 07:19:12 1989
***************
*** 29,33
int i, default_err, is_batch, max_block, code, file_count, got_hdr;
int hours, mins, secs, len;
! long block, recv;
float percent, performance;
unsigned char blk;
--- 29,33 -----
int i, default_err, is_batch, max_block, code, file_count, got_hdr;
int hours, mins, secs, len;
! long block, recv, partial;
float percent, performance;
unsigned char blk;
***************
*** 194,199
if (!code) {
if (file_length != 0L) {
! len = file_length - recv;
! if (len > block_size)
len = block_size;
}
--- 194,199 -----
if (!code) {
if (file_length != 0L) {
! partial = file_length - recv;
! if (partial > (long) block_size)
len = block_size;
else
***************
*** 197,200
if (len > block_size)
len = block_size;
}
else
--- 197,202 -----
if (partial > (long) block_size)
len = block_size;
+ else
+ len = partial;
}
else
***************
*** 252,257
wattrstr(win, A_BOLD, "TRUNCATE ERROR");
wrefresh(win);
! /* fatal */
! return(1);
}
}
--- 254,258 -----
wattrstr(win, A_BOLD, "TRUNCATE ERROR");
wrefresh(win);
! sleep(1);
}
}
*** old/Release.notes Fri Feb 10 11:28:37 1989
--- Release.notes Fri Feb 10 07:42:26 1989
***************
*** 38,42
definitions for zmodem).
! The pcomm.input program has been changed to use multiple
character buffered writes to the screen. Both the input and
output buffer sizes are tunable parameters in config.h
--- 38,42 -----
definitions for zmodem).
! The pcomm_input program has been changed to use multiple
character buffered writes to the screen. Both the input and
output buffer sizes are tunable parameters in config.h