Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!accuvax.nwu.edu!tank!eecae!cps3xx!usenet From: usenet@cps3xx.UUCP (Usenet file owner) Newsgroups: comp.std.c Subject: Re: Portability Keywords: PORTABILITY Message-ID: <4550@cps3xx.UUCP> Date: 11 Sep 89 17:12:18 GMT References: <116@quame.UUCP> Reply-To: porkka@frith.UUCP (Joe Porkka) Organization: Michigan State University Lines: 34 In article <116@quame.UUCP> bryan@quame.UUCP (Bryan A. Woodruff) writes: >Here is a question directed towards those involved with ANSI C. > >I have noticed a certain amount of care taken towards the "portability" >aspect of C... When C was designed, was it not the idea to have a completely >portable language from system to system? Do not all systems have a tree >directory or some other directory structure? Why then are there not No. Try IBM's CMS. There are no notions of subdirectories there. CMS's filenames are "8char 8char 2char?" the last being a minidisk name (a virtual disk which is a fixed partition of a real disk). Other OSs allow large filenames, but still no real subdirs. Even if you could depend on a directory tree, there may be limits to its size, and how you go between levels of the tree is different. In unix, you use . .. and / In messydos use . .. and \ On vaxen it works something like [-] for parent, and then [subdir.subdir2]file.ext;revision Vaxen have troubles with directories deeper than 8. On amigas use for current dir, / for parent, : for root What about devices that are in the filespace? What about wild cards? They work differently on all of the above implementations. These are problems that would be hard to deal with in a general fashion. REAL NAME: Joe Porkka jap@frith.cl.msu.edu