Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10 5/3/83; site ulysses.UUCP
Path: utzoo!linus!decvax!harpo!eagle!mhuxt!mhuxi!mhuxa!ulysses!smb
From: smb@ulysses.UUCP
Newsgroups: net.bugs.4bsd
Subject: setjmp/longjmp change in 4.1c
Message-ID: <528@ulysses.UUCP>
Date: Wed, 3-Aug-83 14:00:24 EDT
Article-I.D.: ulysses.528
Posted: Wed Aug  3 14:00:24 1983
Date-Received: Thu, 4-Aug-83 01:29:35 EDT
Organization: Bell Labs, Murray Hill
Lines: 21

Due to a change in the implementation of longjmp, certain incorrect
behavior causes trouble in 4.1c.  In particular, some programs (such
as SCCS) say

	longjmp(JBF);

instead of the correct

	lonjmp(JBF, 1);

In 4.1 BSD (and System V), this works, because any non-zero value will
generally work -- and if the stack contains random garbage instead of a
1, there's no trouble.  Longjmp even checks for a zero second argument,
and forces it to 1 in that case.

4.1c longjmp, however, unwinds the stack a frame at a time.  This tends
to confuse matters somewhat more.....

Thanx to Bob Rodriguez (ulysses!rr) for finding the problem.

		--Steve