From f54cd99448e3cfdb8bf59e4850a08ca33e896283 Mon Sep 17 00:00:00 2001
From: "logesh.sekar" <logesh.sekar@timesys.com>
Date: Thu, 12 Mar 2026 20:11:58 +0530
Subject: [PATCH] new

---
 taglib/shorten/shortenfile.cpp | 4 ++++
 taglib/toolkit/tbytevector.cpp | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/taglib/shorten/shortenfile.cpp b/taglib/shorten/shortenfile.cpp
index c1e44c1..b39fc42 100644
--- a/taglib/shorten/shortenfile.cpp
+++ b/taglib/shorten/shortenfile.cpp
@@ -297,7 +297,11 @@ void Shorten::File::read(AudioProperties::ReadStyle propertiesStyle)
   if(version > 0) {
     uint32_t blockSize = 0;
     if(!input.getUInt(blockSize, version,
+#ifdef __UCLIBC__
+		      static_cast<int32_t>(std::log(static_cast<double>(defaultBlockSize)) / std::log(2.0))) ||
+#else
                       static_cast<int32_t>(std::log2(defaultBlockSize))) ||
+#endif
        blockSize == 0 || blockSize > maxBlockSize) {
       debug("Shorten::File::read() -- Invalid or unsupported block size.");
       setValid(false);
diff --git a/taglib/toolkit/tbytevector.cpp b/taglib/toolkit/tbytevector.cpp
index b1641ba..aef867c 100644
--- a/taglib/toolkit/tbytevector.cpp
+++ b/taglib/toolkit/tbytevector.cpp
@@ -237,7 +237,11 @@ long double toFloat80(const ByteVector &v, size_t offset)
       debug("toFloat80() - can't handle the infinity or NaN. Returning 0.");
       return 0.0;
     }
+#ifdef __UCLIBC__
+    val = ::ldexp(static_cast<double>(fraction), exponent - 16383 - 63);
+#else
     val = ::ldexpl(static_cast<long double>(fraction), exponent - 16383 - 63);
+#endif
   }
 
   if(negative)
-- 
2.34.

