Patch #4 to Pcomm v1.2

egray at fthood.UUCP egray at fthood.UUCP
Sat Jun 24 01:35:00 AEST 1989


This is patch #4 to the Pcomm v1.2 distribution package.  This patch
will fix the problem of transferring files on BSD systems when the names
are greater than 14 characters in length.  (However, the file names will
still get truncated to 14 characters, so I'll address that in a later
release).

This patch also contains some odds and end suggested by Jonathan Bayer
(...uunet!ispi!jbayer) and Gary Trujillo (...spdcc!gnosys!gst) over the
past few months.

Emmet P. Gray				US Army, HQ III Corps & Fort Hood
...!uunet!uiucuxc!fthood!egray		Attn: AFZF-DE-ENV
fthood!egray at uxc.cso.uiuc.edu		Directorate of Engineering & Housing
					Environmental Management Office
					Fort Hood, TX 76544-5057

-----------------------------------------------------------------------------
Prereq: "1.2.3"
*** old/info.c	Sun Jun 11 10:25:44 1989
--- info.c	Fri Jun 23 10:03:05 1989
***************
*** 4,9
   */
  
! #define VERSION	"1.2.3"
! #define DATE	"11 May 89"
  
  #include <stdio.h>

--- 4,9 -----
   */
  
! #define VERSION	"1.2.4"
! #define DATE	"23 Jun 89"
  
  #include <stdio.h>
*** old/main.c	Sun Jun 11 10:25:43 1989
--- main.c	Fri Jun 23 10:03:18 1989
***************
*** 16,19
   *	Patch #2	11 Mar 89
   *	Patch #3	11 May 89
   */
  

--- 16,20 -----
   *	Patch #2	11 Mar 89
   *	Patch #3	11 May 89
+  *	Patch #4	23 Jun 89
   */
  
*** old/st_line.c	Sat Jun 17 09:16:50 1989
--- st_line.c	Sat Jun 17 09:17:08 1989
***************
*** 76,79
  	delwin(sl_win);
  	move(y, x);
  	return;
  }

--- 76,80 -----
  	delwin(sl_win);
  	move(y, x);
+ 	refresh();
  	return;
  }
*** old/terminal.c	Sun Jun 11 10:25:38 1989
--- terminal.c	Sun Jun 11 10:32:11 1989
***************
*** 431,435
  		st_line("disconnecting");
  					/* special case for OBM */
- #ifdef UNIXPC
  	if (!strcmp(modem->mname[modem->m_cur], "OBM")) {
  		ioctl(fd, PIOCDISC);

--- 431,434 -----
  		st_line("disconnecting");
  					/* special case for OBM */
  	if (!strcmp(modem->mname[modem->m_cur], "OBM")) {
  #ifdef UNIXPC
***************
*** 433,436
  #ifdef UNIXPC
  	if (!strcmp(modem->mname[modem->m_cur], "OBM")) {
  		ioctl(fd, PIOCDISC);
  		/*

--- 432,436 -----
  					/* special case for OBM */
  	if (!strcmp(modem->mname[modem->m_cur], "OBM")) {
+ #ifdef UNIXPC
  		ioctl(fd, PIOCDISC);
  		/*
***************
*** 445,450
  		line_set();
  		fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0) & ~O_NDELAY);
- 	}
- 	else
  #endif /* UNIXPC */
  		send_str(modem->hang_up[modem->m_cur], SLOW);

--- 445,448 -----
  		line_set();
  		fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0) & ~O_NDELAY);
  #endif /* UNIXPC */
  	}
***************
*** 448,451
  	else
  #endif /* UNIXPC */
  		send_str(modem->hang_up[modem->m_cur], SLOW);
  

--- 446,451 -----
  		fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0) & ~O_NDELAY);
  #endif /* UNIXPC */
+ 	}
+ 	else {
  		send_str(modem->hang_up[modem->m_cur], SLOW);
  
***************
*** 450,460
  		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)

--- 450,462 -----
  		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_batch.c	Tue May 23 12:28:22 1989
--- x_batch.c	Sun Jun 11 10:39:50 1989
***************
*** 270,273
  	int modified;
  	char temp[15], ans[15], *s, *strrchr(), *strcpy(), *strncat();
  	unsigned int sleep();
  					/* dissect the name component */

--- 270,274 -----
  	int modified;
  	char temp[15], ans[15], *s, *strrchr(), *strcpy(), *strncat();
+ 	char *strncpy();
  	unsigned int sleep();
  					/* dissect the name component */
***************
*** 273,277
  					/* dissect the name component */
  	if ((s = strrchr(str, '/')))
! 		strcpy(temp, ++s);
  	else
  		strcpy(temp, str);

--- 274,278 -----
  					/* dissect the name component */
  	if ((s = strrchr(str, '/')))
! 		strncpy(temp, ++s, 15);
  	else
  		strncpy(temp, str, 15);
***************
*** 275,279
  		strcpy(temp, ++s);
  	else
! 		strcpy(temp, str);
  
  	strcpy(ans, temp);

--- 276,281 -----
  		strncpy(temp, ++s, 15);
  	else
! 		strncpy(temp, str, 15);
! 	temp[14] = '\0';
  
  	strcpy(ans, temp);
***************
*** 325,330
  char *path;
  {
! 	int dot;
! 	char *s, *name, temp[15], *ext, *strcpy(), *strrchr();
  	static char ans[13];
  					/* ignore the path component */

--- 327,332 -----
  char *path;
  {
! 	int i, dot;
! 	char *s, *name, temp[15], *ext, *strncpy(), *strrchr();
  	static char ans[13];
  					/* ignore the path component */
***************
*** 330,334
  					/* ignore the path component */
  	if (s = strrchr(path, '/'))
! 		strcpy(temp, ++s);
  	else
  		strcpy(temp, path);

--- 332,336 -----
  					/* ignore the path component */
  	if (s = strrchr(path, '/'))
! 		strncpy(temp, ++s, 15);
  	else
  		strncpy(temp, path, 15);
***************
*** 332,336
  		strcpy(temp, ++s);
  	else
! 		strcpy(temp, path);
  	name = temp;
  

--- 334,339 -----
  		strncpy(temp, ++s, 15);
  	else
! 		strncpy(temp, path, 15);
! 	temp[14] = '\0';
  	name = temp;
  
***************
*** 337,345
  	ext = "";
  	dot = 0;
! 	for (s=name; *s; ++s) {
! 		if (*s == '.' && !dot) {
! 			dot++;
! 			*s = '\0';
! 			ext = s + 1;
  		}
  		if (islower(*s))

--- 340,348 -----
  	ext = "";
  	dot = 0;
! 	for (i=strlen(temp)-1; i>=0; i--) {
! 		if (temp[i] == '.' && !dot) {
! 			dot = 1;
! 			temp[i] = '\0';
! 			ext = &temp[i+1];
  		}
  		if (islower(temp[i]))
***************
*** 343,348
  			ext = s + 1;
  		}
! 		if (islower(*s))
! 			*s = toupper(*s);
  	}
  					/* if null name component */

--- 346,351 -----
  			ext = &temp[i+1];
  		}
! 		if (islower(temp[i]))
! 			temp[i] = toupper(temp[i]);
  	}
  					/* if null name component */
*** old/Pcomm.1	Wed Jun 14 08:32:34 1989
--- Pcomm.1	Wed Jun 14 08:32:08 1989
***************
*** 61,65
  Dialing Directory.  The dialing directory screen is used to display and
  maintain the database of phone number entries, and to select an entry
! for dialing.  To dialan entry, just enter the entry number at the
  prompt.  If the ``script'' field contains valid Unix shell script, that
  file is used to automatically log the user on to the remote system.  See

--- 61,65 -----
  Dialing Directory.  The dialing directory screen is used to display and
  maintain the database of phone number entries, and to select an entry
! for dialing.  To dial an entry, just enter the entry number at the
  prompt.  If the ``script'' field contains valid Unix shell script, that
  file is used to automatically log the user on to the remote system.  See
End of Patch



More information about the Unix-pc.sources mailing list