|
Boost : |
From: flameframe_at_[hidden]
Date: 2001-03-28 02:21:29
Just a few examples for different OS...
1. absolute file names:
host volume directories base ext vers
------- ------- --------------- ------- ------- ------
UNIX /dir1/dir2/ file .ext
DOS OS/2 NT A: \dir1\dir1\ file .ext
MAC volume: dir1:dir2: file .ext
VMS host:: volume: [dir1.dir2] file .ext ;vers
2. relative file names:
UNIX file ./file dir1/file ./dir1/file ../../dir1/file
DOS file .\file dir1\file .\dir1\file ..\..\dir1\file
MAC file :dir1:file :dir1:file :::dir1:file
VMS file []file [.dir1]file [.dir1]file [--.dir1]file
3. allowed characters in dir/file name:
UNIX any except '/'.
DOS OS/2 NT any except most punctuations.
MAC any except ':'.
VMS only a-z, A-Z, 0-9, '-', '_' and '$'.
4. Some specifics:
UNIX :
~ home directory of the current user.
~user home directory of the specified user.
VMS :
[000000] top directory of a volume, so
[000000.dir1] is equivalent to [dir1]
[dir1.dir2] directory as a path
[dir1]dir2.dir directory as a file
I believe it would be more appropriate to pass desired syntax as a
parameter to dirname()/basename(), etc.
Regards,
Vitalij.
--- In boost_at_y..., Matt Austern <austern_at_r...> wrote:
> David Abrahams wrote:
> >
> > The fun's not over yet, kids: MacOS likes ':'!!
> >
> > -Dave
> > ----- Original Message -----
> > From: "Thomas Matelich" <sosedada_at_u...>
> > To: <boost_at_y...>
> > Sent: Tuesday, March 27, 2001 4:56 PM
> > Subject: Re: [boost] candidate for library, "sysutils"
> >
> > > Craig Henderson wrote:
> > >
> > > > It must be taken into account during the design of such a
library, the
> > > > differences between OSs. For example, UNIX '/' and MS '\'. The
> > > > description of the isabs() in the Python doc below
reads "Return true if
> > > > path is an absolute pathname (begins with a slash)." This is
true on
> > > > UNIX, but with MS absolute pathnames can begin with "C:\"
or "\\" for a
> > > > UNC path.
> > >
> > > Just a quick note because people often forget, MS will
accept '/' in your
> > > code. All my dir stuff uses '/' exclusively, converting on the
way in.
> > > Don't bother #ifdef'ing your logic, just the inputs.
>
> And there are other OS's where it starts getting pretty hard
> to have anything that looks like the Unix-ish directory/
> subdirectory model, and where defining a single directory
> separation character isn't good enough. I'm thinking of VMS,
> for example (which can be made to look sort of like DOS/Windows
> if you squint hard enough), and of IBM mainframe OS's, like
> VM/CMS.
>
> The question isn't whether you can come up with a convention
> that supports everything, because the answer is that you
> can't, but rather how much generality you want to support.
>
> --Matt
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk