From: Martin Str|mberg Message-Id: <200104151631.SAA16496@mother.ludd.luth.se> Subject: Re: _creatnew() failing To: djgpp-workers AT delorie DOT com Date: Sun, 15 Apr 2001 18:31:16 +0200 (MEST) In-Reply-To: from "Eli Zaretskii" at Apr 15, 2001 06:22:40 PM X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk According to Eli Zaretskii: > On Sun, 15 Apr 2001, Martin Str|mberg wrote: > > > It has been hammered into me that unsupported INT21 functions do not > > set the carry flag and only set AL to 0. > > ...except when documented otherwise. RBIL says that function 6Ch sets > the carry flag when it fails. There's a difference between failure and unimplemented... > > FreeDOS claims to be DOZE 5.0 but it does not support INT21, > > AX=0x6c00. So this _creatnew() happily thinks is has successfully > > opened/created the file in question. > > RBIL says something similar about DRDOS: > > DR DOS reportedly does not support this function and does not return > an "invalid function call" error when this function is used. > > I guess we need to test _os_flavor in addition to _osmajor, in this > case. Not for FreeDOS. It has the beginnings of an implementation (and somebody is probably going to complete it). Even if it didn't, FreeDOS has a VERSION= directive for CONFIG.SYS. Right, MartinS