Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!munnari!mulga!jz From: jz@mulga.oz (Justin Zobel) Newsgroups: comp.sources.bugs Subject: vmail bug+fix Message-ID: <2442@mulga.oz> Date: Thu, 26-Nov-87 19:32:37 EST Article-I.D.: mulga.2442 Posted: Thu Nov 26 19:32:37 1987 Date-Received: Sun, 29-Nov-87 20:53:59 EST Organization: Comp Sci, Melbourne Uni, Australia Lines: 224 Following is a patch to make vmail work properly on a Pyramid. The flag PYRAMID must be set on compilation. jz *** init.c Thu Oct 8 10:32:45 1987 --- init.c Fri Nov 27 11:20:46 1987 *************** *** 43,48 cols = tgetnum("co"); /* lines holds no. of lines for headers, ie "li" less STATUS, TITLE */ lines = tgetnum("li") - 2; ioctl(0, TIOCGETP, &tty); ioctl(0, TIOCGETP, &chrs); ioctl(0, TIOCGETP, &lchrs); --- 43,49 ----- cols = tgetnum("co"); /* lines holds no. of lines for headers, ie "li" less STATUS, TITLE */ lines = tgetnum("li") - 2; + #ifdef PYRAMID ioctl(0, TIOCGETP, &tty); ioctl(0, TIOCGETC, &chrs); ioctl(0, TIOCLGET, &lchrs); *************** *** 44,49 /* lines holds no. of lines for headers, ie "li" less STATUS, TITLE */ lines = tgetnum("li") - 2; ioctl(0, TIOCGETP, &tty); ioctl(0, TIOCGETP, &chrs); ioctl(0, TIOCGETP, &lchrs); --- 45,54 ----- lines = tgetnum("li") - 2; #ifdef PYRAMID ioctl(0, TIOCGETP, &tty); + ioctl(0, TIOCGETC, &chrs); + ioctl(0, TIOCLGET, &lchrs); + #else + ioctl(0, TIOCGETP, &tty); ioctl(0, TIOCGETP, &chrs); ioctl(0, TIOCGETP, &lchrs); #endif PYRAMID *************** *** 46,51 ioctl(0, TIOCGETP, &tty); ioctl(0, TIOCGETP, &chrs); ioctl(0, TIOCGETP, &lchrs); read_profile(&pargc, pargv, profile, home); process_args(pargc, pargv); --- 51,57 ----- ioctl(0, TIOCGETP, &tty); ioctl(0, TIOCGETP, &chrs); ioctl(0, TIOCGETP, &lchrs); + #endif PYRAMID read_profile(&pargc, pargv, profile, home); process_args(pargc, pargv); *************** *** 74,79 signal(SIGTSTP, tstp); signal(SIGINT, tint); ioctl(0, TIOCGETP, &t_tty); ioctl(0, TIOCGETP, &t_chrs); ioctl(0, TIOCGETP, &t_lchrs); --- 80,86 ----- signal(SIGTSTP, tstp); signal(SIGINT, tint); + #ifdef PYRAMID ioctl(0, TIOCGETP, &t_tty); ioctl(0, TIOCGETC, &t_chrs); ioctl(0, TIOCLGET, &t_lchrs); *************** *** 75,80 signal(SIGINT, tint); ioctl(0, TIOCGETP, &t_tty); ioctl(0, TIOCGETP, &t_chrs); ioctl(0, TIOCGETP, &t_lchrs); --- 82,91 ----- #ifdef PYRAMID ioctl(0, TIOCGETP, &t_tty); + ioctl(0, TIOCGETC, &t_chrs); + ioctl(0, TIOCLGET, &t_lchrs); + #else + ioctl(0, TIOCGETP, &t_tty); ioctl(0, TIOCGETP, &t_chrs); ioctl(0, TIOCGETP, &t_lchrs); #endif PYRAMID *************** *** 77,82 ioctl(0, TIOCGETP, &t_tty); ioctl(0, TIOCGETP, &t_chrs); ioctl(0, TIOCGETP, &t_lchrs); y = FIRST; display_page(); --- 88,94 ----- ioctl(0, TIOCGETP, &t_tty); ioctl(0, TIOCGETP, &t_chrs); ioctl(0, TIOCGETP, &t_lchrs); + #endif PYRAMID y = FIRST; display_page(); *************** *** 297,302 void no_control() { ioctl(0, TIOCSETP, &tty); ioctl(0, TIOCSETP, &chrs); ioctl(0, TIOCSETP, &lchrs); --- 309,315 ----- void no_control() { + #ifdef PYRAMID ioctl(0, TIOCSETP, &tty); ioctl(0, TIOCSETC, &chrs); ioctl(0, TIOCLSET, &lchrs); *************** *** 298,303 no_control() { ioctl(0, TIOCSETP, &tty); ioctl(0, TIOCSETP, &chrs); ioctl(0, TIOCSETP, &lchrs); } --- 311,320 ----- { #ifdef PYRAMID ioctl(0, TIOCSETP, &tty); + ioctl(0, TIOCSETC, &chrs); + ioctl(0, TIOCLSET, &lchrs); + #else + ioctl(0, TIOCSETP, &tty); ioctl(0, TIOCSETP, &chrs); ioctl(0, TIOCSETP, &lchrs); #endif PYRAMID *************** *** 300,305 ioctl(0, TIOCSETP, &tty); ioctl(0, TIOCSETP, &chrs); ioctl(0, TIOCSETP, &lchrs); } --- 317,323 ----- ioctl(0, TIOCSETP, &tty); ioctl(0, TIOCSETP, &chrs); ioctl(0, TIOCSETP, &lchrs); + #endif PYRAMID } *************** *** 309,314 void to_control() { ioctl(0, TIOCSETP, &t_tty); ioctl(0, TIOCSETP, &t_chrs); ioctl(0, TIOCSETP, &t_lchrs); --- 327,333 ----- void to_control() { + #ifdef PYRAMID ioctl(0, TIOCSETP, &t_tty); ioctl(0, TIOCSETC, &t_chrs); ioctl(0, TIOCLSET, &t_lchrs); *************** *** 310,315 to_control() { ioctl(0, TIOCSETP, &t_tty); ioctl(0, TIOCSETP, &t_chrs); ioctl(0, TIOCSETP, &t_lchrs); } --- 329,338 ----- { #ifdef PYRAMID ioctl(0, TIOCSETP, &t_tty); + ioctl(0, TIOCSETC, &t_chrs); + ioctl(0, TIOCLSET, &t_lchrs); + #else + ioctl(0, TIOCSETP, &t_tty); ioctl(0, TIOCSETP, &t_chrs); ioctl(0, TIOCSETP, &t_lchrs); #endif PYRAMID *************** *** 312,317 ioctl(0, TIOCSETP, &t_tty); ioctl(0, TIOCSETP, &t_chrs); ioctl(0, TIOCSETP, &t_lchrs); } --- 335,341 ----- ioctl(0, TIOCSETP, &t_tty); ioctl(0, TIOCSETP, &t_chrs); ioctl(0, TIOCSETP, &t_lchrs); + #endif PYRAMID }