]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/align/detail/align.hpp
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / boost / align / detail / align.hpp
index 905940ad77adb9f8774aa825fbc5fdda842680d7..77b327a22295909c8c339565318d8c546716f991 100644 (file)
@@ -1,5 +1,5 @@
 /*
-Copyright 2014-2016 Glen Joseph Fernandes
+Copyright 2014-2020 Glen Joseph Fernandes
 (glenjofe@gmail.com)
 
 Distributed under the Boost Software License, Version 1.0.
@@ -18,14 +18,14 @@ inline void*
 align(std::size_t alignment, std::size_t size, void*& ptr,
     std::size_t& space)
 {
-    BOOST_ASSERT(detail::is_alignment(alignment));
+    BOOST_ASSERT(boost::alignment::detail::is_alignment(alignment));
     if (size <= space) {
         char* p = reinterpret_cast<char*>(~(alignment - 1) &
             (reinterpret_cast<std::size_t>(ptr) + alignment - 1));
-        std::size_t n = space - (p - static_cast<char*>(ptr));
-        if (size <= n) {
+        std::size_t n = p - static_cast<char*>(ptr);
+        if (n <= space - size) {
             ptr = p;
-            space = n;
+            space -= n;
             return p;
         }
     }