[comp.mail.mh] vmh under System V

allbery@NCoast.ORG (Brandon S. Allbery) (10/15/89)

I have never had much luck making vmh work under System III or System V; for
the most part, this hasn't bothered me because I prefer the shell command
interface to MH.  However, I now have a co-worker who would like to learn MH
without losing access to his mail from other mailers if he manages to get
confused or etc. while I'm not around, so msh and/or vmh on his maildrop look
like the best action.  (Msh seems to work fine for this.)

Anyway, has anyone ever figured out why vmh doesn't handle its line buffers
correctly on USG systems?  Under System III I used a hack which got the line
buffers allocated, but reverse scrolling screwed things up royally.  I'd
prefer a working solution this time.  Any suggestions?

Thanks in advance,
++Brandon
-- 
Brandon S. Allbery, moderator of comp.sources.misc	     allbery@NCoast.ORG
uunet!hal.cwru.edu!ncoast!allbery ncoast!allbery@hal.cwru.edu bsa@telotech.uucp
161-7070 (MCI), ALLBERY (Delphi), B.ALLBERY (GEnie), comp-sources-misc@backbone
[comp.sources.misc-related mail should go ONLY to comp-sources-misc@<backbone>]
*Third party vote-collection service: send mail to allbery@uunet.uu.net (ONLY)*

gregg@cbnewsc.ATT.COM (gregg.g.wonderly) (10/18/89)

From article <1989Oct14.222507.25123@NCoast.ORG>, by allbery@NCoast.ORG (Brandon S. Allbery):
> I have never had much luck making vmh work under System III or System V; for
> the most part, this hasn't bothered me because I prefer the shell command
> interface to MH.  However, I now have a co-worker who would like to learn MH
> without losing access to his mail from other mailers if he manages to get
> confused or etc. while I'm not around, so msh and/or vmh on his maildrop look
> like the best action.  (Msh seems to work fine for this.)
> 
> Anyway, has anyone ever figured out why vmh doesn't handle its line buffers
> correctly on USG systems?  Under System III I used a hack which got the line
> buffers allocated, but reverse scrolling screwed things up royally.  I'd
> prefer a working solution this time.  Any suggestions?

There are two things wrong with vmh on system 5.  I have not fixed the
second one yet.  First is its use of (char *)sprintf() which is really
(int)sprintf() under system 5.  The guilty code is somthing like

	bp = buffer;
	while (something) {
		bp += strlen (sprint (bp, format, x,y,z));
		do somthing else
	}

The other thing is the use of the curses line buffers as you
indicated.  The code expects that the curses line buffers are
arrays of characters when in reality they are arrays of shorts.  All
through the code there is calls to waddstr with the linebuffer passed
as an argument directly.  There are also things like

	w->_colx = bp - buffer;

which to work should be

	w->_colx = (unsigned) (bp - buffer) / 2;

to even have a chance of working.  There is so much to fix here that I have
really been discourged about doing it.

-- 
-----
gregg.g.wonderly@att.com   (AT&T bell laboratories)