apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Branko ─îibej <br...@xbc.nu>
Subject Re: Proposal: new filepath API for search paths
Date Wed, 05 Feb 2003 21:22:34 GMT
William A. Rowe, Jr. wrote:

>++1 if we can go with
>APR_DECLARE(apr_status_t) apr_filepath_list_split(
>    apr_array_header_t **pathelts, const char *liststr, apr_pool_t *p);
>APR_DECLARE(apr_status_t) apr_filepath_list_merge(
>    char **liststr, apr_array_header_t *pathelts, apr_pool_t *p);

I could definitely do that.

>Let's drop the 'env' concept - this is really useful overall.
>And please be careful to strip quotes from around elements, and add
>quotes (or on unix, backslash escape) the seperator element (e.g. colon
>or semicolon.)
Sure. I think we already have code that can do that, so I might want to
do a bit of refactoring.

>Sure the default docs can illustrate the typical
>  apr_filepath_list_split(patharr, getenv("PATH"), p);
>but I think we want to stay away from overloading both getenv and split
>list facilities into a single function.  It makes the API less useful :-)
This is where it stops working. On Windows, at least on NT-class
systems, you really do want to use the wide char functions to read the
environment and convert the result to UTF-8, otherwise we're not safe in
the presence of characters that can't be represented in the current
locale. I don't want to lose that capability, after all the trouble we
(you?) went to in the other I/O functions.

apr_filepath_getenv, maybe? (Put it in the apr_filepath namespace
because the value it returns is suitable for input into other apr_file*

>Oh, you might plan for a flags element for options like APR_FILEPATH_NATIVE
>where we could even do colon, forward slashed paths by default and follow
>the platform convention when APR_FILEPATH_NATIVE is passed ;-)
Bah. We have apr_filepath_merge; there's no need to duplicate that
functionality, is there?

Brane ─îibej   <brane@xbc.nu>   http://www.xbc.nu/brane/

View raw message