Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [stellation-res] Database location specifier

> -----Original Message-----
> From: stellation-res-admin@xxxxxxxxxxxxxxx
> [mailto:stellation-res-admin@xxxxxxxxxxxxxxx]On Behalf Of Jim Wright -
> IBM Research
> Sent: Saturday, April 19, 2003 1:52 PM
> To: stellation-res@xxxxxxxxxxxxxxx
> Cc: stellation
> Subject: Re: [stellation-res] Database location specifier
>
>
> Jonathan,
>
> Based on a quick Google search:
>
> Windows filename characters:
> Legal: A-Z 0-9 $#&@!()-{}'`_~ and the space
> Illegal: |<>\^+=?/[]";,* plus control characters
>
> Linux:
> Characters often recognized as metacharacters by Linux shells:
>
> * ? [ ] " ' ` \ $ ; & ( ) | ^ < > newline space tab
>
> So -- taking the intersection of both sets (more or less):
> | <> \ ^ ? [] " ; *
>
> Checking the man page for bash (Bourne-Again shell)
> yields the following:
> 1. "Enclosing characters between single quotes preserves
> the literal value of each character within the quotes."
> 2. "Enclosing characters between double quotes preserves
> the literal value of each character within the quotes, with
> the exception of $ (dollar sign) ` (backtick) and \
> (backslash)."
>
> Since single quote is a legal Windows filename character,
> I propose:
> a) Use ; (semicolon) as the delimiter within a database locator.
> b) Double-quote the entire locator to force command-line processors
> to process the locator as a single entity.
> Thus:
> "This;is a complete;locator;in five;parts."
>
> Thoughts?
>
> - Jim
>
This would work for FAT32 volumes but NTFS is more liberal. The only
reserved characters are < > : " / \ | and the control characters. The
semi-colon is a legal file name character for NTFS. I am also reluctant to
require special quoting rules over and above those that are normal for a
shell. Quoting would also mean additional parsing code in Stellation.

Regards

Jonathan




Back to the top