[comp.sources.d] Pcomm under SunOS or Microport

egray@fthood.UUCP (11/19/89)

Here are some additional notes on compiling Pcomm under SunOS or
Microport versions of unix.

PS:  I posted patch #5 to comp.sources.bugs on 30 Oct 89 and patch #6 on
8 Nov 89.  If they've already "fallen off" the news feed at your site,
they are available via anonymous ftp from cerl.cecer.army.mil
(129.229.1.101).

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

------------------------------------------------------------------------------
Notes for Microport users...

Patch #5 created a problem in the vcs.c file for Microport users.  It
seems that Microport's version of /usr/include/term.h does not have a
declaration for the tparm() function (and patch #5 removed it from
vcs.c).  The fix is easy enough:

	change line 188 in vcs.c:
	 	int i, j, k, match, temp[VCS_SIZE];
 		char *p, *strcpy(), buf[VCS_SIZE], *getenv();
		void fake_it();
	to read:
	 	int i, j, k, match, temp[VCS_SIZE];
		char *p, *strcpy(), buf[VCS_SIZE], *getenv(), *tparm();
 		void fake_it();

-------------------------------------------------------------------------------
Notes for SunOS users...

There are several problem that apparently only surface with SunOS.  Here
are some notes to help out.

        1) Patch #5 introduced a new pre-processor definition in dial.c
        called USLEEP.  SunOS no longer supports the times() system
        call, so usleep() is used to generate the delay.

        2) Pcomm was really designed to work in an AT&T world.  If you
        compile the code with the /usr/5bin/cc compiler, you'll end up
        with a better product.  To do so, you'll need to use default
        config.h parameters (undef OLDCURSES and undef BSD) plus the
        default Makefile parameters (CURSES, TERMLIB, and TTY).

        3) Some Sun users report that their version of curses (perhaps
        limited to the sys5 version?) has a bug that henders the quick
        transition between the "curses mode" and "terminal mode".  If
        you have troubles with Pcomm getting out-of-sync after a file
        transfer here is a hack to bludgeon the code into submission.

	change line 53 in terminal.c:
		while (1) {
			read(0, &c, 1);
			c &= 0x7f;
	to read:
		while (1) {
			c = getch();
			c &= 0x7f;