On Fri, Sep 26, 2014 at 05:19:42PM +0800, Herbert Xu wrote: > On Fri, Jul 19, 2013 at 09:49:31PM +0000, Harald van Dijk wrote: > > > > So, how about this, to be applied on top of my previous patch? It > > defaults to using confstr() if available and reporting a hard error at > > run time if that fails, but it can be configured to not use confstr(), > > and/or fall back to a path specified at configuration time: > Thanks for the patch. But until someone who needs this complexity > steps up, I'm going to stick with the simpler version below: > [snip] > diff --git a/src/var.h b/src/var.h > index 79ee71a..872e2db 100644 > --- a/src/var.h > +++ b/src/var.h > @@ -107,7 +107,7 @@ extern const char defifsvar[]; > extern const char defifs[]; > #endif > extern const char defpathvar[]; > -#define defpath (defpathvar + 5) > +#define defpath (defpathvar + 36) > > extern int lineno; > extern char linenovar[]; This needs a comment at the definition of defpathvar in var.c; otherwise, someone changing the default path will subtly break command -p without knowing. The number 36 is rather magic too, but it can be found back through git history. Alternatively, you could rely on the linker combining common string constant endings: put in some #define for "/usr/sbin:/usr/bin:/sbin:/bin" and make defpathvar a #define instead of a const array. -- Jilles Tjoelker -- To unsubscribe from this list: send the line "unsubscribe dash" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html