Subject: MH-8.6.3 under -current?
To: None <current-users@NetBSD.ORG>
From: Simon J. Gerraty <sjg@quick.com.au>
List: current-users
Date: 08/11/1997 07:55:05
Has anyone build MH under -current such that it works?

More specifically, I'm getting core files from slocal, and either gdb
is lying to me or functions are being called incorrectly:

eg. a stack trace shows:

(gdb) bt
#0  0x47d1 in mbx_read (fp=0x4008c1b4, pos=707, drops=0x0, noisy=-138430808)
    at dropsbr.c:253

but dropsbr.c:592 reads:

switch (i = mbx_read (fp, (off_t)0, &rp, noisy)) {

the args on the stack look bogus.

#1  0x51cf in map_write (mailbox=0xf7bfc5bc "Mail/cron/in", md=5, id=0, 
    last=0, start=611, stop=702, pos=606, size=7, noisy=1) at dropsbr.c:592
#2  0x4c24 in mbx_copy (mailbox=0xf7bfc5bc "Mail/cron/in", md=5, fd=3, 
    mapping=1, text=0xf068 "Delivery-Date: Mon, 11 Aug 1997 07:31:59 +1000\n", 
    noisy=1) at dropsbr.c:373
#3  0x310e in usr_file (fd=3, mailbox=0xf7bfc5bc "Mail/cron/in", from=0x5 "")
    at slocal.c:916
#4  0x2686 in usr_delivery (fd=3, delivery=0x5 "", su=-138426964, 
    from=0xf7bfd1e4 "") at slocal.c:576

Those args should have been:

	if (usr_delivery (fd, ".maildelivery", 0, from) != NOTOK)

#5  0x1fdd in localmail (fd=3, from=0xf7bfd1e4 "", mdlvr=0x0) at slocal.c:400
#6  0x1f7b in main (argc=5, argv=0xf7bfd684, envp=0xf7bfd69c) at slocal.c:382
(gdb) 


Of course the code is _full_ of assumptions that off_t is long :-(
I've fixed the struct drop to use off_t and added casts for the 2nd
arg to *seek(), but no joy.

If my tape drive hadn't committed suicide yesterday when I went to
restore /usr/local after shuffling disks, I'd till be able to run my
old MH binaries (probably about 0.9 vintage).

--sjg