Hi Serge,
> However, a comment about
> +/* Normalize and split path: Leading and trailing / are removed, multiple
> + * / are compactified, .. and . are resolved (.. on the top level is
> considered
> + * identical to .).
> + * Examples:
> + * / -> { NULL }
> + * foo/../bar -> { bar, NULL }
> + * ../../ -> { NULL }
> + * ./bar/baz/.. -> { bar, NULL }
> + * foo//bar -> { foo, bar, NULL }
> + */
> +extern char **lxc_normalize_path(const char *path);
>
> That's fine for what you're doing with cgroup paths, but given the
> function name people might want to start using it for general pathnames.
> If they do, they'll need to separately check path[0] to determine
> whether the normalized path was absolute or not.
>
> Maybe the comment you have here is clear enough to warn anyone against
> getting confused... I'm just a bit worried it could bite us later.
I'd be more worried if the function just returned a simple string, i.e.
/foo/.../bar -> foo/bar or so. But since the function also splits it
into components (I've done that because it's more convenient for then
iteratively creating a bunch of directories), the return type itself
should be something that makes people look at the function in more
detail before using it - and they should see the comment. But if you
think the comment needs clarification or maybe you want to rename the
function to be lxc_normalize_and_split_path() or so, I don't have any
objections.
-- Christian
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Lxc-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lxc-devel