$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r75776 - trunk/tools/build/v2/engine
From: steven_at_[hidden]
Date: 2011-12-02 13:49:09
Author: steven_watanabe
Date: 2011-12-02 13:49:07 EST (Fri, 02 Dec 2011)
New Revision: 75776
URL: http://svn.boost.org/trac/boost/changeset/75776
Log:
Adjust search to find generated targets without regard to case, on NT.
Text files modified: 
   trunk/tools/build/v2/engine/search.c |    12 ++++++++----                            
   1 files changed, 8 insertions(+), 4 deletions(-)
Modified: trunk/tools/build/v2/engine/search.c
==============================================================================
--- trunk/tools/build/v2/engine/search.c	(original)
+++ trunk/tools/build/v2/engine/search.c	2011-12-02 13:49:07 EST (Fri, 02 Dec 2011)
@@ -151,6 +151,7 @@
             BINDING b, *ba = &b;
             file_info_t *ff;
             OBJECT * key;
+            OBJECT * test_path;
 
             f->f_root.ptr = object_str( varlist->value );
             f->f_root.len = strlen( object_str( varlist->value ) );
@@ -161,7 +162,9 @@
             if ( DEBUG_SEARCH )
                 printf( "search %s: %s\n", object_str( target ), buf->value );
 
-            key = object_new( buf->value );
+            test_path = object_new( buf->value );
+            key = path_as_key( test_path );
+            object_free( test_path );
             ff = file_query( key );
             timestamp( key, time );
 
@@ -221,14 +224,15 @@
     {
         BINDING b;
         BINDING * ba = &b;
-        b.binding = boundname;
+        OBJECT * key = path_as_key( boundname );
+        b.binding = key;
         b.target = target;
         /* CONSIDER: we probably should issue a warning is another file
            is explicitly bound to the same location. This might break
            compatibility, though. */
-        if ( hashenter( explicit_bindings, (HASHDATA * *)&ba ) )
+        if ( !hashenter( explicit_bindings, (HASHDATA * *)&ba ) )
         {
-            ba->binding = object_copy( boundname );
+            object_free( key );
         }
     }