On Wednesday 15 December 2010 13:23:54 Juergen Gross wrote:
> On 12/15/10 13:12, Christoph Egger wrote:
> > Hi!
> >
> > Attached patch open codes basename() with strrchr().
> > Fixes build on platforms like NetBSD where POSIX basename is available.
> >
> > Signed-off-by: Christoph Egger<Christoph.Egger@xxxxxxx>
> >
> > diff -r dcb46110d460 -r e8ce7e3e4b8c tools/libxl/xl_cmdimpl.c
> > --- a/tools/libxl/xl_cmdimpl.c
> > +++ b/tools/libxl/xl_cmdimpl.c
> > @@ -5455,7 +5455,7 @@ int main_cpupoolcreate(int argc, char **
> > if (!xlu_cfg_get_string (config, "name", &buf))
> > name = strdup(buf);
> > else
> > - name = basename(filename);
> > + name = strrchr(filename, '/') + 1;
> > if (!libxl_name_to_cpupoolid(&ctx, name, &poolid)) {
> > fprintf(stderr, "Pool name \"%s\" already exists\n", name);
> > return -ERROR_FAIL;
>
> This is not correct.
> strrchr returns NULL here if filename contains no '/'. This leads to name
> being 1.
Thanks for pointing this out. I haven't considered that case.
Christoph
--
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|