You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by "William A. Rowe, Jr." <wr...@rowe-clan.net> on 2001/04/10 06:45:16 UTC
A small nit with my own code :-)
Looking at this function:
APR_DECLARE(apr_status_t) apr_filepath_root(const char **rootpath,
const char **filepath,
apr_pool_t *p);
This function takes the given filepath and returns the pointer to a new (p alloc'ed)
rootpath, and adjusts filepath to the first relative element (eg /foo becomes a new
"/" rootpath string and filepath is offset, not copied, to the "foo" string.)
I originally copied the '/' root for unix into the pool. I think that's overkill,
I should be able to return a const, shared "/" string, no? For Win32 there is no
avoiding a new string allocated from p.
I also had several extra lines to code for Win32 since we return NULL for the
rootpath of a true relative path. Any objections if this too was a const, shared
string of ""?
Notice that APR_EINCOMPLETE does return a rootpath (an incomplete one, at that) so
it seems to make more sense that APR_ERELATIVE would also return a string (empty).
Comments?
Bill
p.s. if you dug into the unix code already, I'm about to replace all root* variables
with base* variable names, so we have basepath and addpath. This cleans up a huge
ambiguity when you cross into win32, with a baseroot, addroot, basepath and addpath.
rootroot got me laughing when I realized how convoluted it became :-)