Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83 (MC840302); site boring.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!seismo!mcvax!boring!guido From: guido@boring.UUCP (Guido van Rossum) Newsgroups: net.micro.pc,net.unix Subject: rename library routine in Microsoft C 3.0 Message-ID: <6727@boring.UUCP> Date: Wed, 15-Jan-86 12:51:41 EST Article-I.D.: boring.6727 Posted: Wed Jan 15 12:51:41 1986 Date-Received: Fri, 17-Jan-86 06:22:57 EST Reply-To: guido@mcvax.UUCP (Guido van Rossum) Organization: "Stamp Out BASIC" Committee, CWI, Amsterdam Lines: 17 Keywords: rename, BSD, Microsoft C 3.0 Xref: watmath net.micro.pc:6545 net.unix:6840 Summary: BSD says rename(old, new), MSC 3.0 says rename(new, old) Apparently-To: rnews@mcvax Today I was bitten by a difference in interpretation of rename's arguments between my good old 4.2 BSD and the brand new (and otherwise GOOD!) Microsoft C compiler (3.0). BSD takes the first arg as the old file name and renames it to the second arg; Microsoft's library does it the other way around! Could anyone (besides Jim Cottrell :-) argue who is wrong? Lattice C (which used to be Microsoft C version 2.03) does it the BSD way, but I believe this function was added after the version that Microsoft sold was frozen. What does system 5 do (if it has one of these routines)? What does P1003 say about it? PS: I prefer the BSD way because it mimics mv(1). But I am willing to trade my opinion for an established standard. -- Guido van Rossum, CWI, Amsterdam (guido@mcvax.UUCP)