From: Beman Dawes (bdawes_at_[hidden])
Date: 2003-04-30 08:55:24
At 10:08 AM 4/27/2003, Pavel Vozenilek wrote:
>"Trevor Taylor" <xju_at_[hidden]> wrote in message
>> So it sounds to me like the :blat is *not* part of the extension. It
>> sounds like the NT file name is made up of three parts: name, extension
>> and "stream".
>> In which case I think it is fine to have functions extension() and
>> change_extension() - they just should not report or modify the stream
>> To implement them I guess I'd need to know whether the file name was an
>> NTFS filename, and then how to reliably locate the "extension" part?
>Functin DeviceIoControl() with parameter IOCTL_DISK_GET_PARTITION_INFO
>do it. It is available on NT/W2K.
>Does it make sense to take into account NTFS drives for Win95/98 (from
>www.systeminternals.com) or Linux NTFS drivers?
There are a lot of file systems in this world. It isn't uncommon for the
heavy-duty operating systems to handle many different path formats. IIRC,
OS/390 (and C++ compilers for it) handles six different path formats.
The purely lexical approach taken in Vladimir's proposal is a practical way
to meet a common need in portable C++ programs. Let's just leave it at
that, and not worry that it won't handle certain non-portable path formats.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk