Orthanc/OrthancFramework/Resources/Patches/dcmtk-3.6.4.patch
2025-06-23 19:07:37 +05:30

100 lines
3.7 KiB
Diff

diff -urEb dcmtk-3.6.4.orig/dcmdata/include/dcmtk/dcmdata/dcdict.h dcmtk-3.6.4/dcmdata/include/dcmtk/dcmdata/dcdict.h
--- dcmtk-3.6.4.orig/dcmdata/include/dcmtk/dcmdata/dcdict.h 2020-01-06 19:55:12.887153062 +0100
+++ dcmtk-3.6.4/dcmdata/include/dcmtk/dcmdata/dcdict.h 2020-01-06 19:55:28.156447233 +0100
@@ -152,6 +152,12 @@
/// returns an iterator to the end of the repeating tag dictionary
DcmDictEntryListIterator repeatingEnd() { return repDict.end(); }
+ // Function by the Orthanc project to load a dictionary from a
+ // memory buffer, which is necessary in sandboxed
+ // environments. This is an adapted version of
+ // DcmDataDictionary::loadDictionary().
+ OFBool loadFromMemory(const std::string& content, OFBool errorIfAbsent = OFTrue);
+
private:
/** private undefined assignment operator
diff -urEb dcmtk-3.6.4.orig/dcmdata/libsrc/dcdict.cc dcmtk-3.6.4/dcmdata/libsrc/dcdict.cc
--- dcmtk-3.6.4.orig/dcmdata/libsrc/dcdict.cc 2020-01-06 19:55:12.899154075 +0100
+++ dcmtk-3.6.4/dcmdata/libsrc/dcdict.cc 2020-01-06 19:55:28.156447233 +0100
@@ -899,3 +899,6 @@
wrlock().clear();
wrunlock();
}
+
+
+#include "dcdict_orthanc.cc"
diff -urEb dcmtk-3.6.4.orig/dcmdata/libsrc/dcpxitem.cc dcmtk-3.6.4/dcmdata/libsrc/dcpxitem.cc
--- dcmtk-3.6.4.orig/dcmdata/libsrc/dcpxitem.cc 2020-01-06 19:55:12.899154075 +0100
+++ dcmtk-3.6.4/dcmdata/libsrc/dcpxitem.cc 2020-01-06 19:55:28.156447233 +0100
@@ -36,6 +36,9 @@
#include "dcmtk/dcmdata/dcostrma.h" /* for class DcmOutputStream */
#include "dcmtk/dcmdata/dcwcache.h" /* for class DcmWriteCache */
+#undef max
+#include "dcmtk/ofstd/oflimits.h"
+
// ********************************
diff -urEb dcmtk-3.6.4.orig/oflog/include/dcmtk/oflog/thread/syncpub.h dcmtk-3.6.4/oflog/include/dcmtk/oflog/thread/syncpub.h
--- dcmtk-3.6.4.orig/oflog/include/dcmtk/oflog/thread/syncpub.h 2020-01-06 19:55:12.911155088 +0100
+++ dcmtk-3.6.4/oflog/include/dcmtk/oflog/thread/syncpub.h 2020-01-06 19:56:26.991372656 +0100
@@ -63,7 +63,7 @@
DCMTK_LOG4CPLUS_INLINE_EXPORT
Mutex::Mutex (Mutex::Type t)
- : mtx (DCMTK_LOG4CPLUS_THREADED (new impl::Mutex (t)) + 0)
+ : mtx (DCMTK_LOG4CPLUS_THREADED (new impl::Mutex (t)))
{ }
@@ -106,7 +106,7 @@
DCMTK_LOG4CPLUS_INLINE_EXPORT
Semaphore::Semaphore (unsigned DCMTK_LOG4CPLUS_THREADED (max),
unsigned DCMTK_LOG4CPLUS_THREADED (initial))
- : sem (DCMTK_LOG4CPLUS_THREADED (new impl::Semaphore (max, initial)) + 0)
+ : sem (DCMTK_LOG4CPLUS_THREADED (new impl::Semaphore (max, initial)))
{ }
@@ -148,7 +148,7 @@
DCMTK_LOG4CPLUS_INLINE_EXPORT
FairMutex::FairMutex ()
- : mtx (DCMTK_LOG4CPLUS_THREADED (new impl::FairMutex) + 0)
+ : mtx (DCMTK_LOG4CPLUS_THREADED (new impl::FairMutex))
{ }
@@ -190,7 +190,7 @@
DCMTK_LOG4CPLUS_INLINE_EXPORT
ManualResetEvent::ManualResetEvent (bool DCMTK_LOG4CPLUS_THREADED (sig))
- : ev (DCMTK_LOG4CPLUS_THREADED (new impl::ManualResetEvent (sig)) + 0)
+ : ev (DCMTK_LOG4CPLUS_THREADED (new impl::ManualResetEvent (sig)))
{ }
@@ -252,7 +252,7 @@
DCMTK_LOG4CPLUS_INLINE_EXPORT
SharedMutex::SharedMutex ()
- : sm (DCMTK_LOG4CPLUS_THREADED (new impl::SharedMutex) + 0)
+ : sm (DCMTK_LOG4CPLUS_THREADED (new impl::SharedMutex))
{ }
diff -urEb dcmtk-3.6.4.orig/ofstd/include/dcmtk/ofstd/offile.h dcmtk-3.6.4/ofstd/include/dcmtk/ofstd/offile.h
--- dcmtk-3.6.4.orig/ofstd/include/dcmtk/ofstd/offile.h 2020-01-06 19:55:12.951158464 +0100
+++ dcmtk-3.6.4/ofstd/include/dcmtk/ofstd/offile.h 2020-01-06 19:55:28.156447233 +0100
@@ -575,7 +575,7 @@
*/
void setlinebuf()
{
-#if defined(_WIN32) || defined(__hpux)
+#if defined(_WIN32) || defined(__hpux) || defined(__LSB_VERSION__)
this->setvbuf(NULL, _IOLBF, 0);
#else
:: setlinebuf(file_);