Hi all,
  this patch implements a replacement for the call to basename() in
debugs().

        Kinkie
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: kin...@squid-cache.org-20090303133351-7j6u31s2b8kbob7i
# target_branch: http://www.squid-cache.org/bzr/squid3/trunk
# testament_sha1: 97efe70c1cd09d4d0862bce19e3da0872e52f603
# timestamp: 2009-03-03 14:35:54 +0100
# base_revision_id: squ...@treenet.co.nz-20090302094946-\
#   5azu85appor47kyv
# 
# Begin patch
=== modified file 'src/Debug.h'
--- src/Debug.h	2009-03-01 11:02:36 +0000
+++ src/Debug.h	2009-03-03 13:33:51 +0000
@@ -34,12 +34,6 @@
 #ifndef SQUID_DEBUG_H
 #define SQUID_DEBUG_H
 
-/* NP: done without pre-requisite config.h  */
-/*     because we only define with it here. */
-#if HAVE_LIBGEN_H  
-#include <libgen.h>
-#endif
-
 #include <iostream>
 #undef assert
 #include <sstream>
@@ -86,6 +80,8 @@
 
 extern FILE *debug_log;
 
+SQUIDCEXTERN const char* SkipBuildPrefix(const char* path);
+
 /* Debug stream */
 #define debugs(SECTION, LEVEL, CONTENT) \
    do { \
@@ -100,7 +96,7 @@
  *
  * debugs(1,2, HERE << "some message");
  */
-#define HERE basename(__FILE__)<<"("<<__LINE__<<") "<<__FUNCTION__<<": "
+#define HERE SkipBuildPrefix(__FILE__)<<"("<<__LINE__<<") "<<__FUNCTION__<<": "
 
 /*
  * MYNAME is for use at debug levels 0 and 1 where HERE is too messy.

=== modified file 'src/debug.cc'
--- src/debug.cc	2009-02-08 00:02:47 +0000
+++ src/debug.cc	2009-03-03 13:33:51 +0000
@@ -31,6 +31,12 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
  *
  */
+
+/* Anyone moving the src/Debug.cc file MUST record its new location here,
+ * or there will be issues in the debugging statements, possibly fatal!
+ */
+#define RELATIVE_PATH_TO_DEBUG_CC "src/debug.cc"
+
 #include "config.h"
 #include "Debug.h"
 #include "SquidTime.h"
@@ -746,3 +752,18 @@
 }
 
 std::ostringstream (*Debug::CurrentDebug)(NULL);
+
+static const size_t BuildPrefixInit()
+{
+    //leave immediately if misconfigured. Unfortunately not possible to detect at build
+    const char *file=__FILE__;
+    const char *rptdcc=RELATIVE_PATH_TO_DEBUG_CC;
+    assert(strstr(file,rptdcc)!=NULL);
+    return strlen(file)-strlen(rptdcc);
+}
+static const size_t BuildPrefixLength=BuildPrefixInit();
+const char* SkipBuildPrefix(const char* path)
+{
+    return path+BuildPrefixLength;
+}
+

=== modified file 'test-suite/test_tools.cc'
--- test-suite/test_tools.cc	2009-02-08 00:02:47 +0000
+++ test-suite/test_tools.cc	2009-03-03 13:33:51 +0000
@@ -234,3 +234,9 @@
 
 void
 ctx_exit(Ctx ctx) {}
+
+// for debugs()
+const char* SkipBuildPrefix(const char* path)
+{
+    return path;
+}

# Begin bundle
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
KIA=

Reply via email to