patch by Jeffrey Yasskin for porting to Ubuntu Hardy.  Everything was accepted except there were some bug fixes needed in <locale> for the __nolocale_* series.  For the apple branch I ended up using templates instead of the var_args solution because it seemed both safer and more efficient.

llvm-svn: 104516
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 128ba7191da78d948b72b9c7adddc37002b391ef
diff --git a/src/mutex.cpp b/src/mutex.cpp
index f98d725..7ea7349 100644
--- a/src/mutex.cpp
+++ b/src/mutex.cpp
@@ -148,7 +148,7 @@
 
 recursive_timed_mutex::recursive_timed_mutex()
     : __count_(0),
-      __id_(nullptr)
+      __id_(0)
 {
 }
 
@@ -197,7 +197,7 @@
     unique_lock<mutex> lk(__m_);
     if (--__count_ == 0)
     {
-        __id_ = nullptr;
+        __id_ = 0;
         lk.unlock();
         __cv_.notify_one();
     }