On 03/03/2009 06:38 AM, Kinkie wrote:
> this patch implements a replacement for the call to basename() in
> debugs().
>   
bb:tweak

* Make RELATIVE_PATH_TO_DEBUG_CC a char* ThisFileNameTail constant or
some such. No need for a #define.

* Move ThisFileNameTail into BuildPrefixInit(), replacing rptdcc.

* Move BuildPrefixLength into SkipBuildPrefix. Keep it static, of course.

* Remove SQUIDCEXTERN unless you think SkipBuildPrefix needs to have C
binding. If C binding is necessary, please check whether it should be
defined with that binding as well (and not just declared).

* Consider replacing the entire ThisFileNameTail length calculation
magic with a straightforward $top_srcdir-based solution.

* I believe the proposed solution will not work (and may lead to
coredumps or even exploits) for debugging in files that are _generated_
during Squid build, because their path does not have the same prefix as
the src/Debug.cc path. We use debugs() in generated source files. For
example,

  cf_parser.h:    debugs(0, 10, "parse_line: " << buff << "\n" );

Do we use HERE in any generated source files? If yes, the proposed
change should be rejected: We will need a special #define that would go
into config.h and will be overwritten in generated files. The define
will contain top_srcdir or top_builddir.


Thank you,

Alex.

Reply via email to