Christoph Egger
2010-Dec-15 12:12 UTC
[Xen-devel] [PATCH][TOOLS] libxl: open code basename()
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@amd.com> -- ---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@lists.xensource.com http://lists.xensource.com/xen-devel
Juergen Gross
2010-Dec-15 12:23 UTC
Re: [Xen-devel] [PATCH][TOOLS] libxl: open code basename()
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@amd.com> >> 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. Juergen -- Juergen Gross Principal Developer Operating Systems TSP ES&S SWE OS6 Telephone: +49 (0) 89 3222 2967 Fujitsu Technology Solutions e-mail: juergen.gross@ts.fujitsu.com Domagkstr. 28 Internet: ts.fujitsu.com D-80807 Muenchen Company details: ts.fujitsu.com/imprint.html _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Christoph Egger
2010-Dec-15 12:38 UTC
Re: [Xen-devel] [PATCH][TOOLS] libxl: open code basename()
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@amd.com> > > > > 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@lists.xensource.com http://lists.xensource.com/xen-devel