Print

Print


On Mon, 8 Dec 2003, McIlwrath, BK (Brian) wrote:

> Alan Chipperfield  wrote :
>
> > I think the code in HDS is rec1_get_path.c and
> > rec1_find_file.c. It appears that the presence of + in an
> > otherwise fully resolved file name will cause the shell
> > expansion unless HDS_SHELL is -1.  I had thought the only
> > thing involved in the expansion was globbing (hence my query
> > about +) but I now see that awk may be involved. This needs
> > more study - I've set Brian on it.
>
> HDS scans every character in the full path name and classifies the
> filename as "special" (meaning a perceived need to use the shell to expand
> the name) or not in rec1_get_path.c
>

Thanks for the clarification.

> The questions are:-
>
> 1) Should HDS use a wider range of characters than Rodney believed as part
> of "normal" names?
>

Hmm. I think HDS should probably do what the shell does. Looking at the
"Filename substitution" section of the csh man page, '+' is not listed.
If you can 'ls' the filename without putting in escapes then it should be
okay for HDS.

I realise that this has to be a low priority. I just found it intriguing.

> 2) Why is the forked shell not starting correctly for some versions of Perl?
>

The related question is, why can't I reproduce this effect with a
5 line perl script that opens a file with a funny character in the path,
but which triggers the problem when I'm running within oracdr?

--
Tim Jenness
JAC software
http://www.jach.hawaii.edu/~timj